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

本文关键字:标签 组合 xml | 更新日期: 2023-09-27 17:51:04

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

XML示例,

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

我想得到"My name James"的输出。有什么想法或解决方案吗?

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

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

打印

我叫James

如果需要point/ref/text路径上的特定节点,则使用下一个values提取器

var values = xml.Descendants("ref")
                .Elements()
                .Where(node => node.Name == "text")
                .Select(node => node.Value);