如何在xml中组合相同标签的值

时间:2013-01-08 17:08:35

标签: c# xml tags

我是XML的新手,我在将XML中的2个值与相同的标记名称组合时遇到了问题。

XML示例

 <point>
  <ref>
    <text>My name</text>
  </ref>
  <ref>
    <text>James</text>
  </ref>
 </point>

我想获得“我的名字詹姆斯”的输出......任何想法或解决方案?

1 个答案:

答案 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);