XmlNode.Clone Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Crea un duplicado de este 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
Devoluciones
Nodo clonado.
Ejemplos
En el ejemplo siguiente se clona el nodo raíz 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
Comentarios
La clonación de copia XmlElement todos los atributos y sus valores, incluidos los generados por el procesador XML para representar atributos predeterminados. Este método clona de forma recursiva el nodo y el subárbol debajo de él.
Clone
equivale a llamar a CloneNode(true)
.
En la tabla siguiente se describe el comportamiento específico de cada XmlNodeType.
Tipo XmlNode | Clonar |
---|---|
Atributo | Clona el nodo de atributo, incluidos los nodos secundarios. |
CData | Clona el nodo CData, incluido su contenido de datos. |
Comentario | Clona el nodo de comentario, incluido su contenido de texto. |
Documento | Clona el nodo de documento, incluidos los nodos secundarios. |
DocumentFragment | Clona el nodo de fragmento de documento, incluidos los nodos secundarios. |
DocumentType | Clona el nodo de tipo de documento. |
Elemento | Clona el nodo de elemento, sus atributos y cualquier nodo secundario. |
Entidad | Los nodos de entidad no se pueden clonar. |
EntityReference | Clona el nodo de referencia de entidad. El texto de sustitución no se incluye. |
Notación | Los nodos Notation no se pueden clonar. |
ProcessingInstruction | Clona el nodo de instrucción de procesamiento, incluidos su destino y sus datos. |
SignificantWhitespace | Clona el nodo de espacio en blanco significativo, incluido su valor de datos. |
Texto | Clona el nodo de texto, incluido su valor de datos. |
Espacio en blanco | Clona el nodo de espacio en blanco, incluido su valor de datos. |
XmlDeclaration | Clona el nodo XmlDeclaration, incluido su valor de datos. |
Todos los demás tipos de nodo. | Estos tipos de nodo no se pueden clonar. |
Este método es una extensión de Microsoft al Modelo de objetos de documento (DOM).