XmlNode.CloneNode(Boolean) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |