我想通过在 C# 中将第二个 XML 文档插入到现有 Xmldocument
的末尾来合并两个 XmlDocument
。这是怎么做到的?
最佳答案
像这样:
foreach (XmlNode node in documentB.DocumentElement.ChildNodes)
{
XmlNode imported = documentA.ImportNode(node, true);
documentA.DocumentElement.AppendChild(imported);
}
请注意,这会忽略文档 B 的文档元素本身 - 因此,如果它具有不同的元素名称或您想要复制的属性,您需要准确计算出您想要执行的操作。
编辑:如果根据您的评论,您想要将文档 B 的整个嵌入到文档 A 中,那相对容易:
XmlNode importedDocument = documentA.ImportNode(documentB.DocumentElement, true);
documentA.DocumentElement.AppendChild(importedDocument);
这仍然会忽略诸如文档 B 的 XML 声明之类的东西(如果有的话)——我不知道如果您尝试将文档本身导入为另一个文档的节点会发生什么,它包含一个 XML 声明......但我怀疑这会做你想做的事。
关于c# - 如何在C#中合并两个XmlDocuments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440073/