XmlNode.Clone Método

Definição

Cria um duplicado deste nó.

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

Retornos

O nó clonado.

Exemplos

O exemplo a seguir clona o nó raiz do documento XML.

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

Comentários

Clonar uma XmlElement cópia copia todos os atributos e seus valores, incluindo aqueles gerados pelo processador XML para representar atributos padrão. Esse método clona recursivamente o nó e a subárvore abaixo dele.

Clone é equivalente a chamar CloneNode(true).

A tabela a seguir descreve o comportamento específico para cada XmlNodeType.

XmlNodeType Clone
Attribute Clona o nó de atributo, incluindo nós filho.
CData Clona o nó CData, incluindo seu conteúdo de dados.
Comment Clona o nó de comentário, incluindo seu conteúdo de texto.
Documento Clona o nó do documento, incluindo todos os nós filho.
Documentfragment Clona o nó de fragmento do documento, incluindo todos os nós filho.
Tipo de documento Clona o nó de tipo de documento.
Elemento Clona o nó do elemento, seus atributos e quaisquer nós filho.
Entity Nós de entidade não podem ser clonados.
EntityReference Clona o nó de referência da entidade. O texto de substituição não está incluído.
Notação Nós de notação não podem ser clonados.
Instrução de Processamento Clona o nó de instrução de processamento, incluindo seu destino e dados.
SignificantWhitespace Clona o nó de espaço em branco significativo, incluindo seu valor de dados.
Texto Clona o nó de texto, incluindo seu valor de dados.
Espaço em branco Clona o nó de espaço em branco, incluindo seu valor de dados.
Declaração XML Clona o nó XmlDeclaration, incluindo seu valor de dados.
Todos os outros tipos de nó. Esses tipos de nó não podem ser clonados.

Esse método é uma extensão Microsoft para o DOM (Document Object Model).

Aplica-se a

Confira também