在我的控制范围之外,我有一个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));

毫无疑问。

有什么好的解决办法吗?

最佳答案

只需从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);

10-08 15:27