如何将新的根元素添加到C#XmlDocument中?

如何将新的根元素添加到C#XmlDocument中?,c#,optimization,xmldocument,C#,Optimization,Xmldocument,在我的控制之外,我有一个XmlDocument,其结构如下: <parent1> ...minor amount of data... </parent1> 这是不可能的 有什么好的解决方案吗?只需从parent2 XmlDocument中删除DocumentElement,然后将导入的parent1节点附加到XmlDocument(直接——而不是DocumentElement),然后将删除的parent2节点重新附加到导入的parent1节点: var p1node

在我的控制之外,我有一个XmlDocument,其结构如下:

<parent1>
...minor amount of data...
</parent1>
这是不可能的


有什么好的解决方案吗?

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

我看到您正在尝试合并XML文档。你应该完全放弃它,改用jQuery。这不是很有帮助,这是用C#编写的服务器端代码。我在开玩笑。我基本上是说你难住了我。parent2内容已经达到了这个地步,代码已经加载到XmlDocument中,你不能改变它吗?和之间有某种关系吗?也许是某种ID属性,它告诉我们哪些要链接在一起?
<parent1>
...minor amount of data...
<parent2>
..very large amount of data...
</parent2>
</parent1>
oParent1.DocumentElement.AppendChild(oParent1.ImportNode(oParent2.DocumentElement, true));
var p1node = oParent2.ImportNode(oParent1.DocumentElement, true);
var p2node = oParent2.RemoveChild(oParent2.DocumentElement);

oParent2.AppendChild(p1node);
p1node.AppendChild(p2node);