【问题标题】:What is an intuitive way to move an XmlNode from one XmlDocument to another?将 XmlNode 从一个 XmlDocument 移动到另一个的直观方法是什么?
【发布时间】:2008-10-08 19:35:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: .net xml system.xml


    【解决方案1】:

    您需要在目标文档上调用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);
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多