how to read value of an xml node (single) using linq to xml
I have a xml structure similar to below one:
<test>
<test1>test1 开发者_如何学编程value</test1>
</test>
Now I am reading the value of node using below LINQ to xml code.
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);
}
above code works fine, but here I have one single node, but to retrive value I am using foreach loop, which I dont think is good..any better way of doing the same thing without a foreach loop Thanks.
Try something like this:
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);
}
}
you can also try providing XML file path like following:
XElement xmldoc = XElement.Load("filePath");
var nodeValueFromXMlFile = xmldoc
.Descendants("node name")
.First()
.Value;
System.Console.WriteLine(nodeValueFromXMlFile);
精彩评论