.net 将XmlNode从一个XmlDocument移动到另一个XmlNode的直观方法是什么?
我有两个XmlDocuments,我想移动从其中一个文档中选择的XmlNode,并将其附加到另一个文档中的特定位置 简单地在文档2的适当位置调用AppendNode(xmlNodeFromDocument1)的天真直观的方法当然不起作用,因为该方法不处理所属文档.net 将XmlNode从一个XmlDocument移动到另一个XmlNode的直观方法是什么?,.net,xml,system.xml,.net,Xml,System.xml,我有两个XmlDocuments,我想移动从其中一个文档中选择的XmlNode,并将其附加到另一个文档中的特定位置 简单地在文档2的适当位置调用AppendNode(xmlNodeFromDocument1)的天真直观的方法当然不起作用,因为该方法不处理所属文档 在我写这个问题的时候,我终于找到了答案,但由于我们花了很长时间才在System.Xml类中找到它,我想我会将它发布在这里,以帮助其他一直在搜索它的人。您需要在目标文档上调用ImportNode,以获得与目标文档兼容的节点。下面的代码说明
在我写这个问题的时候,我终于找到了答案,但由于我们花了很长时间才在System.Xml类中找到它,我想我会将它发布在这里,以帮助其他一直在搜索它的人。您需要在目标文档上调用
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);
}