我是 XML 的初学者。我创建了一个简单的 XML 文件并尝试对其进行解析并将值分配给变量。它有效,但我使用的方法让我想知道是否有更好的方法,如果你愿意的话,更优雅的方法来完成这项任务。有吗?
这是我的 XML 文件:
<start>
<record>
<var1>hello</var1>
<var2>world</var2>
</record>
<record>
<var1>another</var1>
<var2>one</var2>
</record>
</start>
这是我使用的方法:
string var1 = "", var2 = "";
using(XmlReader r = XmlReader.Create(file))
{
while(r.Read())
{
if (r.MoveToContent() == XmlNodeType.Element)
{
if(r.Name == "record")
{
var1 = "";
var2 = "";
}
else if(r.Name = "var1")
var1 = r.ReadElementString();
else if(r.Name = "var2")
var2 = r.ReadElementString();
}
else if(r.MoveToContent() == XmlNodeType.EndElement && r.Name == "record")
{
Console.WriteLine(var1 + " " + var2);
}
}
}
最佳答案
你试过了吗Linq To XM大号?
我对它很陌生,所以这段代码可能会做得更好,但我认为这是可行的:
XElement xmlData = XElement.Load("XmlFile.xml");
string var1, var2;
foreach (XElement element in xmlData.Elements("record"))
{
var1 = element.Element("var1").Value;
var2 = element.Element("var2").Value;
Console.WriteLine(var1 + " " + var2);
}
关于.net - 解析 XML 的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967435/