c# - 如何在C#中合并两个XmlDocuments

标签 c# .net xml

我想通过在 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/

相关文章:

c# - 如何在 MySql 中对事务提交超时进行单元测试?

c# - 将泛型类型隐式转换为非泛型等价物

c# - 使用 C# api 创建一个 mongodb 上限集合

.net - 变量名称模型绑定(bind)器中的 Web Api Dash

xml - eclipse 菜单中的“Visiblewhen”。希望菜单仅针对特定文件扩展名出现

c# - Xamarin 表格 : Setting app language independently from OS settings

c# - 如何使用 .NET 创建 7-Zip 存档?

c# - 使用 Walker 的别名方法进行加权随机选择

xml - 如何将参数 "null"转换为 null

xml - HTML 之于 HAML 就像 XSLT 之于 ...?