XmlNode.Clone Method

Definition

Crea un duplicado de este 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

Returns

XmlNode

Nodo clonado.The cloned node.

Examples

En el ejemplo siguiente se clona el nodo raíz 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

Remarks

Al clonar una XmlElement se copian todos los atributos y sus valores, incluidos los generados por el procesador XML para representar atributos predeterminados.Cloning an XmlElement copies all attributes and their values, including those generated by the XML processor to represent defaulted attributes. Este método clona de forma recursiva el nodo y el subárbol bajo él.This method recursively clones the node and the subtree underneath it.

Clone es equivalente a llamar a CloneNode(true).Clone is equivalent to calling CloneNode(true).

En la tabla siguiente se describe el comportamiento específico de cada XmlNodeType.The following table describes the specific behavior for each XmlNodeType.

XmlNodeTypeXmlNodeType ClonarClone
AtributoAttribute Clona el nodo de atributo, incluidos los nodos secundarios.Clones the attribute node, including child nodes.
CDataCData Clona el nodo CData, incluido su contenido de datos.Clones the CData node, including its data content.
ComentarioComment Clona el nodo de comentario, incluido su contenido de texto.Clones the comment node, including its text content.
DocumentoDocument Clona el nodo de documento, incluidos los nodos secundarios.Clones the document node, including any child nodes.
DocumentFragmentDocumentFragment Clona el nodo de fragmento de documento, incluidos los nodos secundarios.Clones the document fragment node, including any child nodes.
DocumentTypeDocumentType Clona el nodo de tipo de documento.Clones the document type node.
ElementoElement Clona el nodo de elemento, sus atributos y los nodos secundarios.Clones the element node, its attributes, and any child nodes.
EntidadEntity Los nodos de entidad no se pueden clonar.Entity nodes cannot be cloned.
EntityReferenceEntityReference Clona el nodo de referencia de entidad.Clones the entity reference node. El texto de sustitución no se incluye.The replacement text is not included.
NotaciónNotation Los nodos Notation no se pueden clonar.Notation nodes cannot be cloned.
ProcessingInstructionProcessingInstruction Clona el nodo de instrucción de procesamiento, incluidos el destino y los datos.Clones the processing instruction node, including its target and data.
SignificantWhitespaceSignificantWhitespace Clona el nodo de espacio en blanco significativo, incluido su valor de datos.Clones the significant white space node, including its data value.
TextoText Clona el nodo de texto, incluido su valor de datos.Clones the text node, including its data value.
Espacio en blancoWhitespace Clona el nodo de espacio en blanco, incluido su valor de datos.Clones the white space node, including its data value.
XmlDeclarationXmlDeclaration Clona el nodo XmlDeclaration, incluido su valor de datos.Clones the XmlDeclaration node, including its data value.
Todos los demás tipos de nodo.All other node types. Estos tipos de nodo no se pueden clonar.These node types cannot be cloned.

Este método es una extensión de Microsoft para el Document Object Model (DOM).This method is a Microsoft extension to the Document Object Model (DOM).

Applies to

See also