Compartir vía


XmlNode.Clone Método

Definición

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

XmlNode

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).

Se aplica a

Consulte también