在 C# 中合并两个 XML 文件
Posted
技术标签:
【中文标题】在 C# 中合并两个 XML 文件【英文标题】:Merge two XML Files in C# 【发布时间】:2021-04-29 05:38:20 【问题描述】:您好,我正在尝试合并两个 XML 文件。但是,我从来没有在正确的地方建立连接。我尝试了两件事,但没有成功。
这两个 XML 文件如下所示:
他们应该看起来像这样:
我试过了 1#
var combinedUnique = doc2.Descendants("Actors")
.Union(doc1.Descendants("Actors"));
combinedUnique.First().Save(path);
但这会删除根和每个“演员”..
MyDoc.Root.Add(XDocument.Load(System.IO.Path.Combine(Application.dataPath, "Resources/actors2.xml")).Descendants("Actor"));
MyDoc.Save(path);
这会在“演员”下添加“演员”。 但我想将所有“演员”合并为“演员”,但如何?
【问题讨论】:
您必须自己阅读XML并将节点手动添加到相应的父节点,没人知道Actor
是否是actors
的子节点
我该怎么做?我想我可以在“演员”标签之间添加节点
你能把你的xml内容贴成文本吗,也许我可以给oyu一个小demo。
【参考方案1】:
我检查了 linq .Union()
方法。它消除了所有重复节点,这就是为什么您缺少某些东西的答案,您应该使用保留重复节点的Concat()
获得正确的结果
【讨论】:
以上是关于在 C# 中合并两个 XML 文件的主要内容,如果未能解决你的问题,请参考以下文章