XmlNode.Clone Metoda

Definice

Vytvoří duplikát tohoto uzlu.

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

Návraty

XmlNode

Klonovaný uzel.

Příklady

Následující příklad naklonuje kořenový uzel dokumentu 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

Poznámky

Klonování XmlElement zkopíruje všechny atributy a jejich hodnoty, včetně těch, které vygeneroval procesor XML, aby představovaly výchozí atributy. Tato metoda rekurzivně naklonuje uzel a podstrom pod ním.

Clone je ekvivalentní volání CloneNode(true).

Následující tabulka popisuje konkrétní chování jednotlivých XmlNodeType.

Xmlnodetype Klonování
Atribut Naklonuje uzel atributu, včetně podřízených uzlů.
Cdata Naklonuje uzel CData, včetně jeho datového obsahu.
Komentář Naklonuje uzel komentáře, včetně jeho textového obsahu.
Dokument Naklonuje uzel dokumentu, včetně všech podřízených uzlů.
Documentfragment Naklonuje uzel fragmentu dokumentu, včetně všech podřízených uzlů.
Documenttype Naklonuje uzel typu dokumentu.
Prvek Naklonuje uzel elementu, jeho atributy a všechny podřízené uzly.
Entita Uzly entit nelze naklonovat.
EntityReference Naklonuje referenční uzel entity. Náhradní text není zahrnut.
Notace Notační uzly nelze naklonovat.
Processinginstruction Naklonuje uzel instrukce zpracování, včetně cíle a dat.
SignificantWhitespace Naklonuje významný prázdný uzel, včetně jeho datové hodnoty.
Text Naklonuje textový uzel, včetně jeho datové hodnoty.
Prázdné znaky Naklonuje uzel prázdného místa, včetně jeho datové hodnoty.
Xmldeclaration Naklonuje uzel XmlDeclaration, včetně jeho datové hodnoty.
Všechny ostatní typy uzlů. Tyto typy uzlů nelze naklonovat.

Tato metoda je rozšířením Microsoftu na model DOM (Document Object Model).

Platí pro

Viz také