XmlNode.CloneNode(Boolean) Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında düğümün bir yinelemesini oluşturur.

C#
public abstract System.Xml.XmlNode CloneNode (bool deep);

Parametreler

deep
Boolean

true alt ağacı belirtilen düğüm altında yinelemeli olarak kopyalamak için; false yalnızca düğümün kendisini kopyalamak için.

Döndürülenler

XmlNode

Kopyalanan düğüm.

Özel durumlar

Kopyalanamayan bir düğüm türünde bu yöntemi çağırma.

Örnekler

Aşağıdaki örnekte derin ve sığ bir kopya arasındaki fark gösterilmektedir.

C#
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);
  }
}

Açıklamalar

Bu yöntem düğümler için bir kopya oluşturucu görevi görür. Yinelenen düğümün üst öğesi yok (ParentNode döndürür null).

Aşağıdaki tabloda her XmlNodeTypeöğesine özgü davranış açıklanmaktadır.

Xmlnodetype CloneNode(true) CloneNode(false)
Öznitelik Alt düğümler de dahil olmak üzere öznitelik düğümünü kopyalar. Alt düğümler de dahil olmak üzere öznitelik düğümünü kopyalar.
Cdata Veri içeriği dahil olmak üzere CData düğümünü kopyalar. Veri içeriği dahil olmak üzere CData düğümünü kopyalar.
Yorum Metin içeriği de dahil olmak üzere açıklama düğümünü kopyalar. Metin içeriği de dahil olmak üzere açıklama düğümünü kopyalar.
Belge Tüm alt düğümler dahil olmak üzere belge düğümünü kopyalar. Belge düğümünü kopyalar.
Documentfragment Tüm alt düğümler dahil olmak üzere belge parçası düğümünü kopyalar. Belge parçası düğümünü kopyalar.
Documenttype Belge türü düğümünü kopyalar. Belge türü düğümünü kopyalar.
Öğe Öğe düğümünü, özniteliklerini ve alt düğümleri kopyalar. Varsayılan öznitelikler de dahil olmak üzere öğe düğümünü ve özniteliklerini kopyalar.
Varlık Varlık düğümleri kopyalanamaz. Varlık düğümleri kopyalanamaz.
EntityReference Varlık başvuru düğümünü kopyalar. Değiştirme metni dahil değildir. Varlık başvuru düğümünü kopyalar. Değiştirme metni dahil değildir.
Gösterim Gösterimi düğümleri kopyalanamaz. Gösterimi düğümleri kopyalanamaz.
Processingınstruction Hedef ve verileri dahil olmak üzere işleme yönerge düğümünü kopyalar. Hedef ve verileri dahil olmak üzere işleme yönerge düğümünü kopyalar.
SignificantWhitespace Veri değeri de dahil olmak üzere önemli boşluk düğümünü kopyalar. Veri değeri de dahil olmak üzere önemli boşluk düğümünü kopyalar.
Metin Veri değeri de dahil olmak üzere metin düğümünü kopyalar. Veri değeri de dahil olmak üzere metin düğümünü kopyalar.
Boşluk Veri değeri de dahil olmak üzere boşluk düğümünü kopyalar. Veri değeri de dahil olmak üzere boşluk düğümünü kopyalar.
Xmldeclaration Veri değeri de dahil olmak üzere XmlDeclaration düğümünü kopyalar. Veri değeri de dahil olmak üzere XmlDeclaration düğümünü kopyalar.
Diğer tüm düğüm türleri. Bu düğüm türleri kopyalanamaz. Bu düğüm türleri kopyalanamaz.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 2.0, 2.1
UWP 10.0