Condividi tramite


XmlNode.Clone Metodo

Definizione

Crea un duplicato del nodo.

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

Restituisce

XmlNode

Nodo clonato.

Esempio

Nell'esempio seguente viene clonato il nodo radice del documento 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

Commenti

La clonazione di un oggetto XmlElement copia tutti gli attributi e i relativi valori, inclusi quelli generati dal processore XML per rappresentare gli attributi predefiniti. Questo metodo clona in modo ricorsivo il nodo e il sottoalbero sottostante.

Clone equivale a chiamare CloneNode(true).

Nella tabella seguente viene descritto il comportamento specifico per ogni XmlNodeTypeoggetto .

XmlNodeType Clone
Attributo Clona il nodo dell'attributo, inclusi i nodi figlio.
Cdata Clona il nodo CData, incluso il contenuto dei dati.
Commento Clona il nodo di commento, incluso il relativo contenuto di testo.
Documento Clona il nodo del documento, inclusi tutti i nodi figlio.
DocumentFragment Clona il nodo del frammento di documento, inclusi tutti i nodi figlio.
DocumentType Clona il nodo del tipo di documento.
Elemento Clona il nodo dell'elemento, i relativi attributi e tutti i nodi figlio.
Entità I nodi entità non possono essere duplicati.
EntityReference Clona il nodo di riferimento dell'entità. Il testo di sostituzione non viene incluso.
Notation I nodi di notazione non possono essere duplicati.
ProcessingInstruction Clona il nodo dell'istruzione di elaborazione, inclusi i dati e la destinazione.
SignificantWhitespace Clona il nodo dello spazio vuoto significativo, incluso il relativo valore di dati.
Testo Clona il nodo di testo, incluso il relativo valore di dati.
Spazio vuoto Clona il nodo dello spazio vuoto, incluso il relativo valore di dati.
XmlDeclaration Clona il nodo XmlDeclaration, incluso il relativo valore di dati.
Tutti gli altri tipi di nodo. Questi tipi di nodo non possono essere clonati.

Questo metodo è un'estensione Microsoft per il dom (Document Object Model).

Si applica a

Vedi anche