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.

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

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.

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

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