Bagikan melalui


XmlNode.CloneNode(Boolean) Metode

Definisi

Membuat duplikat simpul, saat ditimpa di kelas turunan.

public:
 abstract System::Xml::XmlNode ^ CloneNode(bool deep);
public abstract System.Xml.XmlNode CloneNode(bool deep);
abstract member CloneNode : bool -> System.Xml.XmlNode
Public MustOverride Function CloneNode (deep As Boolean) As XmlNode

Parameter

deep
Boolean

true untuk mengkloning subtree secara rekursif di bawah simpul yang ditentukan; false untuk mengkloning hanya simpul itu sendiri.

Mengembalikan

Simpul kloning.

Pengecualian

Memanggil metode ini pada jenis node yang tidak dapat dikloning.

Contoh

Contoh berikut menunjukkan perbedaan antara klon yang dalam dan dangkal.

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;

    //Create a deep clone.  The cloned node
    //includes the child nodes.
    XmlNode deep = root.CloneNode(true);
    Console.WriteLine(deep.OuterXml);

    //Create a shallow clone.  The cloned node does not
    //include the child nodes, but does include its attribute.
    XmlNode shallow = root.CloneNode(false);
    Console.WriteLine(shallow.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
        
        'Create a deep clone.  The cloned node 
        'includes the child nodes.
        Dim deep As XmlNode = root.CloneNode(True)
        Console.WriteLine(deep.OuterXml)
        
        'Create a shallow clone.  The cloned node does not 
        'include the child nodes, but does include its attribute.
        Dim shallow As XmlNode = root.CloneNode(False)
        Console.WriteLine(shallow.OuterXml)
    End Sub
End Class

Keterangan

Metode ini berfungsi sebagai konstruktor salinan untuk simpul. Simpul duplikat tidak memiliki induk (ParentNode mengembalikan null).

Tabel berikut ini menjelaskan perilaku tertentu untuk setiap XmlNodeType.

XmlNodeType CloneNode(true) CloneNode(false)
Attribute Mengkloning node atribut, termasuk simpul anak. Mengkloning node atribut, termasuk simpul anak.
CData Mengkloning simpul CData, termasuk konten datanya. Mengkloning simpul CData, termasuk konten datanya.
Comment Mengkloning simpul komentar, termasuk konten teksnya. Mengkloning simpul komentar, termasuk konten teksnya.
Dokumen Mengkloning simpul dokumen, termasuk simpul anak apa pun. Mengkloning simpul dokumen.
DocumentFragment Mengkloning simpul fragmen dokumen, termasuk simpul anak apa pun. Mengkloning simpul fragmen dokumen.
Jenis Dokumen Mengkloning simpul jenis dokumen. Mengkloning simpul jenis dokumen.
Elemen Mengkloning node elemen, atributnya, dan node anak apa pun. Mengkloning node elemen dan atributnya, termasuk atribut default apa pun.
Entitas Simpul entitas tidak dapat dikloning. Simpul entitas tidak dapat dikloning.
EntityReference Mengkloning simpul referensi entitas. Teks pengganti tidak disertakan. Mengkloning simpul referensi entitas. Teks pengganti tidak disertakan.
Notation Node notasi tidak dapat dikloning. Node notasi tidak dapat dikloning.
Instruksi Pemrosesan Mengkloning simpul instruksi pemrosesan, termasuk target dan datanya. Mengkloning simpul instruksi pemrosesan, termasuk target dan datanya.
SignificantWhitespace Mengkloning simpul spasi putih yang signifikan, termasuk nilai datanya. Mengkloning simpul spasi putih yang signifikan, termasuk nilai datanya.
Teks Mengkloning simpul teks, termasuk nilai datanya. Mengkloning simpul teks, termasuk nilai datanya.
Whitespace Mengkloning simpul spasi kosong, termasuk nilai datanya. Mengkloning simpul spasi kosong, termasuk nilai datanya.
XmlDeclaration Mengkloning simpul XmlDeclaration, termasuk nilai datanya. Mengkloning simpul XmlDeclaration, termasuk nilai datanya.
Semua jenis node lainnya. Jenis node ini tidak dapat dikloning. Jenis node ini tidak dapat dikloning.

Berlaku untuk