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 複製
屬性 複製屬性節點,包括子節點。
CData 複製 CData 節點,包括其資料內容。
註解 複製批註節點,包括其文字內容。
文件 複製檔節點,包括任何子節點。
DocumentFragment 複製檔片段節點,包括任何子節點。
DocumentType 複製檔案類型節點。
項目 複製專案節點、其屬性和任何子節點。
單位 無法複製 Entity 節點。
EntityReference 複製實體參考節點。 不包括取代文字。
表示法 標記法節點無法複製。
ProcessingInstruction 複製處理指示節點,包括其目標和資料。
SignificantWhitespace 複製重要的空白字元節點,包括其資料值。
Text 複製文位元組點,包括其資料值。
空白 複製空白字元節點,包括其資料值。
XmlDeclaration 複製 XmlDeclaration 節點,包括其資料值。
所有其他節點類型。 無法複製這些節點類型。

此方法是檔物件模型 (DOM) 的 Microsoft 延伸模組。

適用於

另請參閱