在我无法控制的情况下,我有一个XmlDocument,它具有如下结构:
<parent1>
...minor amount of data...
</parent1>
我有另一个XmlDocument,也在我的控制之外,它具有以下结构:
<parent2>
..very large amount of data...
</parent2>
我需要格式为:
的XmlDocument<parent1>
...minor amount of data...
<parent2>
..very large amount of data...
</parent2>
</parent1>
我不想复制parent2。如何在不复制parent2的情况下获得所需的结构?我相信这意味着
oParent1.DocumentElement.AppendChild(oParent1.ImportNode(oParent2.DocumentElement, true));
是不可能的。
那里有什么好的解决方案吗?
答案 0 :(得分:4)
只需从parent2 XmlDocument中删除DocumentElement,然后将导入的parent1节点追加到XmlDocument(直接 - 而不是DocumentElement),并将删除的parent2节点重新附加到导入的parent1节点:
var p1node = oParent2.ImportNode(oParent1.DocumentElement, true);
var p2node = oParent2.RemoveChild(oParent2.DocumentElement);
oParent2.AppendChild(p1node);
p1node.AppendChild(p2node);