You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在C#中合并同类型XML节点并输出合并后的节点内容

嘿,我来帮你搞定这个XML节点合并的问题~

实现方案

你需要做的是聚合所有<Parent>节点的子元素内容,然后生成一个新的合并后的<Parent>节点。用LINQ to XML可以很简洁地实现,具体代码如下:

假设你的XML已经加载到XDocument对象中(比如var doc = XDocument.Load("你的文件路径.xml");),或者你已经有了<Parent>节点的集合:

// 先获取所有的Parent节点
var allParents = doc.Root.Elements("Parent");

// 构建合并后的Parent节点
var mergedParent = new XElement("Parent",
    new XElement("Child1", string.Join("/", allParents.Select(p => p.Element("Child1").Value))),
    new XElement("Child2", string.Join("/", allParents.Select(p => p.Element("Child2").Value)))
);

// 输出结果的话,直接转成字符串即可
Console.WriteLine(mergedParent.ToString());

关键细节说明:

  • 你原来的代码里用Parent.Elements("Child1").Value是有问题的:Elements()返回的是子元素集合,直接取Value会拿到集合中第一个元素的值(如果有多个的话),这里应该用**单数的Element("Child1")**来获取单个子元素,再取Value,更符合你的场景。
  • string.Join("/", ...)是核心:它会遍历所有Parent节点,把每个节点的Child1/Child2内容用/拼接成一个字符串,正好满足你要的contentA/contentC格式。
  • 如果你的数据源不是从XDocument来的,而是已经有了<Parent>的集合(比如你代码里的Parent变量),直接替换allParents为你的集合就行,逻辑完全一致。

运行这段代码后,就能得到你想要的合并后XML结构啦。

内容的提问来源于stack exchange,提问作者alpha con

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 09:13:14