XmlNode.Clone Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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).