3

我有两个 XmlDocument,我想移动从其中一个文档中选择的 XmlNode 并将其附加到另一个文档中的特定位置。

在文档 2 的适当位置简单地调用 AppendNode(xmlNodeFromDocument1) 的天真直观的方法当然不起作用,因为该方法不负责操作拥有的文档。

在我写这个问题的时候,我终于找到了答案,但是由于我们花了很长时间才在 System.Xml 类中找到它,我想我会把它贴在这里帮助其他人搜索它。

4

1 回答 1

7

您需要调用ImportNode目标文档以获取与您的目标文档兼容的节点。以下代码说明了它是如何在 C# 中完成的。

public void CopyExample()
{

   XmlNode nodeFromDifferentDocument = SelectNodeFromSourceDocument();
   XmlDocument targetDocument = InitializeTargetDocument();
   XmlNode targetParentNode = SelectNodesParentWithinTargetDocument(targetDocument);
   bool shouldDodeepCopy = DoIWantADeepCopy();

   XmlNode copyThatBelongsToTargetDocument = 
      targetDocument.ImportNode(nodeFromDifferentDocument, shouldDoDeepCopy);
   targetParentNode.AppendChild(copyThatBelongsToTargetDocument);

}
于 2008-10-08T19:45:22.083 回答