[英]C# reading from a XML file
我正在嘗試使用WPF中的按鈕讀取C#中的XML。 我有這個XML文件:
<?xml version="1.0" encoding="utf-8" ?>
<date>
<Disciplina nume="Disc1" cadru="Cadru1">
<Student>
<Nume>Student1</Nume>
<Nota>9</Nota>
</Student>
</Disciplina>
</date>
在閱讀按鈕中,我有以下代碼:
XmlTextReader rd = new XmlTextReader(@"Test.xml");
string dnume = "", dcadru = "", snume = "",snota="", element = "";
while ( rd.Read() )
{
switch (rd.NodeType)
{
case XmlNodeType.Element:
element = rd.Name;
break;
case XmlNodeType.Text:
if (element == "Disciplina")
{
dnume = rd.GetAttribute("nume");
dcadru = rd.GetAttribute("cadru");
}
else
if (element == "Student")
{
}
break;
case XmlNodeType.EndElement:
if (rd.Name == "Student1")
{
MessageBox.Show("");
}
break;
}
}
rd.Close();
問題是我不知道如何從學生節點讀取信息。 你能幫助我嗎?
如果您確實需要使用XmlReader
類,則可以在控制台應用程序中使用以下代碼:
var nestedLevel = 0;
var studentNestedLevel = 0;
using (var reader = XmlTextReader.Create(@"Test.xml"))
{
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
nestedLevel++;
if (studentNestedLevel > 0)
Console.Write("{0}: ", reader.Name);
if (reader.Name.ToLower() == "student")
studentNestedLevel = nestedLevel;
break;
case XmlNodeType.Text:
if (studentNestedLevel > 0)
Console.WriteLine("{0}", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
case XmlNodeType.ProcessingInstruction:
if (studentNestedLevel > 0)
Console.WriteLine("{0}: {1}", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
break;
case XmlNodeType.EndElement:
nestedLevel--;
if (reader.Name.ToLower() == "student")
studentNestedLevel = 0;
break;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.