我有一个类似于下面的xml结构:
<test>
<test1>test1 value</test1>
</test>
现在我正在使用LINQ to xml代码读取节点的值。
var test = from t in doc.Descendants("test") select t.Element("test1").Value;
Console.WriteLine("print single node value");
foreach (var item in test)
{
Console.WriteLine(item);
}
上面的代码工作正常,但在这里我有一个单一的节点,但为了反复值我使用foreach循环,我不认为是好的..没有foreach循环做更好的方法做同样的事情 感谢。
答案 0 :(得分:9)
尝试这样的事情:
using System;
using System.Linq;
using System.Xml.Linq;
public class Example
{
static void Main()
{
String xml = @"<test>
<test1>test1 value</test1>
</test>";
var test = XElement.Parse(xml)
.Descendants("test1")
.First()
.Value;
Console.WriteLine(test);
}
}
答案 1 :(得分:0)
您还可以尝试提供以下XML文件路径:
XElement xmldoc = XElement.Load("filePath");
var nodeValueFromXMlFile = xmldoc
.Descendants("node name")
.First()
.Value;
System.Console.WriteLine(nodeValueFromXMlFile);