我有两个XmlDocuments,我想移动从其中一个文档中选择的XmlNode,并将其附加到另一个文档中的特定位置.
简单地在文档2的适当位置调用AppendNode(xmlNodeFromDocument1)的天真直观方法当然不起作用,因为该方法不负责操纵拥有文档.
我终于在写这个问题的时候找到了答案,但是由于我们花了这么长时间才在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); }