我想通过将第二个XML文档插入C#中现有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/

10-10 18:46