XmlNode.Clone Méthode

Définition

Crée un doublon de ce nœud.

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

Retours

XmlNode

Nœud cloné.

Exemples

L’exemple suivant clone le nœud racine du document 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

Remarques

Le clonage d’un XmlElement attribut copie tous les attributs et leurs valeurs, y compris ceux générés par le processeur XML pour représenter les attributs par défaut. Cette méthode clone de manière récursive le nœud et la sous-arborescence en dessous.

Clone équivaut à appeler CloneNode(true).

Le tableau suivant décrit le comportement spécifique pour chaque XmlNodeType.

XmlNodeType Clone
Attribut Clone le nœud d’attribut, y compris les nœuds enfants.
CData Clone le nœud CData, y compris son contenu de données.
Commentaire Clone le nœud de commentaire, y compris son contenu texte.
Document Clone le nœud de document, y compris les nœuds enfants.
DocumentFragment Clone le nœud de fragment de document, y compris tous les nœuds enfants.
DocumentType ; Clone le nœud de type de document.
Élément Clone le nœud d’élément, ses attributs et tous les nœuds enfants.
Entité Les nœuds d'entité ne peuvent pas être clonés.
EntityReference Clone le nœud de référence d’entité. Le texte de remplacement n'est pas inclus.
Notation Les nœuds de notation ne peuvent pas être clonés.
ProcessingInstruction ; Clone le nœud d’instruction de traitement, y compris sa cible et ses données.
SignificantWhitespace Clone le nœud d’espace blanc significatif, y compris sa valeur de données.
Texte Clone le nœud de texte, y compris sa valeur de données.
Espace blanc Clone le nœud d’espace blanc, y compris sa valeur de données.
XmlDeclaration Clone le nœud XmlDeclaration, y compris sa valeur de données.
Tous les autres types de nœuds. Ces types de nœuds ne peuvent pas être clonés.

Cette méthode est une extension Microsoft au dom (Document Object Model).

S’applique à

Voir aussi