【问题标题】:how to combine value of same tag in xml如何在xml中组合相同标签的值
【发布时间】:2013-01-08 17:08:34
【问题描述】:

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

XML 示例,

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

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

【问题讨论】:

    标签: c# xml tags


    【解决方案1】:

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

    【讨论】:

    • 谢谢...它的作品!但是关于如何将 xml 文件更改为代码中显示的字符串 str 格式的任何想法?任何关键字或什么,以便我可以进一步研究?
    • @JerryGJ by change 你的意思是读一个文件?你需要读取一个xml文件,添加xml节点并转换为字符串,对吧?
    • 是的.. 将 xml 文件完全转换为字符串。我尝试使用 XmlTextReader 但目前仍然失败..仍在尝试。除了这种方法还有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-26
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多