我是XML的新手,我在将XML中的2个值与相同的标记名称组合时遇到了问题。
XML示例
<point>
<ref>
<text>My name</text>
</ref>
<ref>
<text>James</text>
</ref>
</point>
我想获得“我的名字詹姆斯”的输出......任何想法或解决方案?
答案 0 :(得分:3)
Supose Xml文件位于C:\Temp\test.xml
string fileContent = File.ReadAllText(@"C:\Temp\test.xml");
var xml = XElement.Parse(fileContent);
//select every node with name 'text' regardless of their location in DOM
var values = xml.XPathSelectElements("//text")
.Select(element => element.Value);
string result = string.Join(" ", values);
Console.WriteLine (result);
打印
我的名字詹姆斯
如果您想要路径point/ref/text
的特定节点,请使用下一个values
提取器
var values = xml.Descendants("ref")
.Elements()
.Where(node => node.Name == "text")
.Select(node => node.Value);