XmlNode.Clone Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
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).