如何读取使用LINQ到XML
问题描述:
我具有类似于下面之一的XML结构的XML节点(单个)的值:如何读取使用LINQ到XML
<test>
<test1>test1 value</test1>
</test>
现在我读使用以下LINQ到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循环的good..any更好的办法 谢谢。
答
尝试这样:
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);
}
}
答
,你也可以尝试提供诸如下面的XML文件路径:
XElement xmldoc = XElement.Load("filePath");
var nodeValueFromXMlFile = xmldoc
.Descendants("node name")
.First()
.Value;
System.Console.WriteLine(nodeValueFromXMlFile);
这将/工作,但我从一个XML文件中读取值。 – Wondering 2010-05-08 13:04:29
@Wondering - 然后你需要做的就是将'XElement.Parse(xml)'改为'XElement.Load(pathToYourFile)'。 – 2010-05-08 13:28:19
好的,根据我的代码,我将它改为var res = doc.Descendants(“test1”)。First()。Value;它的工作。感谢您的帮助 – Wondering 2010-05-08 14:54:10