XmlNode.Clone 方法

定义

创建此节点的副本。

public:
 virtual System::Xml::XmlNode ^ Clone();
public virtual System.Xml.XmlNode Clone ();
abstract member Clone : unit -> System.Xml.XmlNode
override this.Clone : unit -> System.Xml.XmlNode
Public Overridable Function Clone () As XmlNode

返回

XmlNode

克隆的节点。

示例

以下示例克隆 XML 文档的根节点。

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->LoadXml( "<book ISBN='1-861001-57-5'>"
   "<title>Pride And Prejudice</title>"
   "<price>19.95</price>"
   "</book>" );
   XmlNode^ root = doc->FirstChild;
   
   //Clone the root node.  The cloned node includes
   //child nodes. This is similar to calling CloneNode(true).
   XmlNode^ clone = root->Clone();
   Console::WriteLine( clone->OuterXml );
}
using System;
using System.IO;
using System.Xml;

public class Sample {

  public static void Main() {

    XmlDocument doc = new XmlDocument();
    doc.LoadXml("<book ISBN='1-861001-57-5'>" +
                "<title>Pride And Prejudice</title>" +
                "<price>19.95</price>" +
                "</book>");

    XmlNode root = doc.FirstChild;

    //Clone the root node.  The cloned node includes
    //child nodes. This is similar to calling CloneNode(true).
    XmlNode clone = root.Clone();
    Console.WriteLine(clone.OuterXml);
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    Public Shared Sub Main()
        
        Dim doc As New XmlDocument()
        doc.LoadXml("<book ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "<price>19.95</price>" & _
                    "</book>")
        
        Dim root As XmlNode = doc.FirstChild
        
        'Clone the root node.  The cloned node includes
        'child nodes. This is similar to calling CloneNode(true).
        Dim clone As XmlNode = root.Clone()
        Console.WriteLine(clone.OuterXml)
    End Sub
End Class

注解

XmlElement克隆复制所有属性及其值,包括 XML 处理器生成的属性来表示默认属性。 此方法以递归方式克隆节点及其下方的子树。

Clone 等效于调用 CloneNode(true)

下表描述了每个 XmlNodeType特定行为。

XmlNodeType 克隆
Attribute 克隆属性节点,包括子节点。
CData 克隆 CData 节点,包括其数据内容。
评论 克隆注释节点,包括其文本内容。
文档 克隆文档节点,包括任何子节点。
DocumentFragment 克隆文档片段节点,包括任何子节点。
DocumentType 克隆文档类型节点。
元素 克隆元素节点、其属性和任何子节点。
实体 无法克隆 Entity 节点。
EntityReference 克隆实体引用节点。 不包括替换文本。
表示法 表示法节点无法克隆。
ProcessingInstruction 克隆处理指令节点,包括其目标和数据。
SignificantWhitespace 克隆重要的空白节点,包括其数据值。
文本 克隆文本节点,包括其数据值。
空格 克隆空白节点,包括其数据值。
XmlDeclaration 克隆 XmlDeclaration 节点,包括其数据值。
所有其他节点类型。 无法克隆这些节点类型。

此方法是文档对象模型的 Microsoft 扩展, (DOM) 。

适用于

另请参阅