1

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

XML 示例,

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

我想得到“我的名字詹姆斯”的输出......有什么想法或解决方案吗?

4

1 回答 1

3

假设 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);

印刷

我的名字詹姆斯

如果您想要 pathpoint/ref/text中的特定节点,请使用下一个values提取器

var values = xml.Descendants("ref")
                .Elements()
                .Where(node => node.Name == "text")
                .Select(node => node.Value);
于 2013-01-08T17:21:25.210 回答