XmlNode.Clone XmlNode.Clone XmlNode.Clone XmlNode.Clone Method

Definizione

Crea un duplicato del nodo.Creates a duplicate of this node.

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

Nodo clonato.The cloned node.

Esempi

Nell'esempio seguente viene clonato il nodo radice del documento XML.The following example clones the root node of the XML document.

#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 XmlElement copia tutti gli attributi e i relativi valori, inclusi quelli generati dal processore XML per rappresentare gli attributi predefiniti.Cloning an XmlElement copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes. Questo metodo clona in modo ricorsivo il nodo e il sottoalbero sottostante.This method recursively clones the node and the subtree underneath it.

Clone equivale alla chiamata di CloneNode(true).Clone is equivalent to calling CloneNode(true).

Nella tabella seguente viene descritto il comportamento specifico di ogni XmlNodeType.The following table describes the specific behavior for each XmlNodeType.

XmlNodeTypeXmlNodeType ClonaClone
AttributoAttribute Clona il nodo attributo, inclusi i nodi figlio.Clones the attribute node, including child nodes.
CDataCData Clona il nodo CData, incluso il contenuto dei dati.Clones the CData node, including its data content.
CommentoComment Clona il nodo di commento, incluso il relativo contenuto di testo.Clones the comment node, including its text content.
DocumentDocument Clona il nodo del documento, inclusi eventuali nodi figlio.Clones the document node, including any child nodes.
DocumentFragmentDocumentFragment Clona il nodo del frammento del documento, inclusi eventuali nodi figlio.Clones the document fragment node, including any child nodes.
DocumentTypeDocumentType Clona il nodo del tipo di documento.Clones the document type node.
ElementoElement Clona il nodo dell'elemento, i relativi attributi e i nodi figlio.Clones the element node, its attributes, and any child nodes.
EntitàEntity I nodi entità non possono essere duplicati.Entity nodes cannot be cloned.
EntityReferenceEntityReference Clona il nodo del riferimento all'entità.Clones the entity reference node. Il testo di sostituzione non viene incluso.The replacement text is not included.
NotationNotation I nodi di notazione non possono essere duplicati.Notation nodes cannot be cloned.
ProcessingInstructionProcessingInstruction Clona il nodo istruzione di elaborazione, inclusi i dati e la destinazione.Clones the processing instruction node, including its target and data.
SignificantWhitespaceSignificantWhitespace Clona il nodo spazio vuoto significativo, incluso il relativo valore di dati.Clones the significant white space node, including its data value.
TestoText Clona il nodo di testo, incluso il relativo valore di dati.Clones the text node, including its data value.
WhitespaceWhitespace Clona il nodo dello spazio vuoto, incluso il relativo valore di dati.Clones the white space node, including its data value.
XmlDeclarationXmlDeclaration Clona il nodo XmlDeclaration, incluso il relativo valore di dati.Clones the XmlDeclaration node, including its data value.
Tutti gli altri tipi di nodo.All other node types. Non è possibile clonare questi tipi di nodo.These node types cannot be cloned.

Questo metodo è un'estensione Microsoft per il Document Object Model (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

Si applica a

Vedi anche