Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

XmlNode.CloneNode méthode (Boolean)

 

Date de publication : novembre 2016

Crée un doublon du nœud en cas de substitution dans une classe dérivée.

Espace de noms:   System.Xml
Assembly:  System.Xml (dans System.Xml.dll)

public abstract XmlNode CloneNode(
	bool deep
)

Paramètres

deep
Type: System.Boolean

true pour cloner récursivement la sous-arborescence sous le nœud spécifié ; false pour cloner seulement le nœud lui-même.

Valeur de retour

Type: System.Xml.XmlNode

Nœud cloné.

Exception Condition
InvalidOperationException

Appeler cette méthode sur un type de nœud ne peut pas être cloné.

Cette méthode sert de constructeur de copie pour les nœuds. Doublon du nœud n’a aucun parent (ParentNode retourne null).

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

XmlNodeType

CloneNode (true)

CloneNode(false)

Attribut

Clone le nœud d’attribut, y compris les nœuds enfants.

Clone le nœud d’attribut, y compris les nœuds enfants.

CData

Clone le nœud CData, y compris les données.

Clone le nœud CData, y compris les données.

Commentaire

Clone le nœud de commentaire, y compris son contenu de texte.

Clone le nœud de commentaire, y compris son contenu de texte.

Document

Clone le nœud du document, y compris les nœuds enfants.

Clone le nœud du document.

DocumentFragment

Clone le nœud du fragment de document, y compris les nœuds enfants.

Clone le nœud du fragment de document.

DocumentType ;

Clone le nœud de type de document.

Clone le nœud de type de document.

Élément

Clone le nœud d’élément, ses attributs et des nœuds enfants.

Clone le nœud d’élément et ses attributs, y compris tous les attributs par défaut.

Entité

Nœuds d’entité ne peut pas être dupliqués.

Nœuds d’entité ne peut pas être dupliqués.

EntityReference

Clone le nœud de référence d’entité. Le texte de remplacement n'est pas inclus.

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 peut pas être dupliqués.

Les nœuds de notation ne peut pas être dupliqués.

ProcessingInstruction ;

Clone le nœud d’instruction de traitement, y compris sa cible et ses données.

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.

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.

Clone le nœud de texte, y compris sa valeur de données.

Whitespace

Clone le nœud d’espace blanc, y compris sa valeur de données.

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.

Clone le nœud XmlDeclaration, y compris sa valeur de données.

Tous les autres types de nœud.

Ces types de nœuds ne peuvent pas être clonés.

Ces types de nœuds ne peuvent pas être clonés.

L’exemple suivant montre la différence entre un clone complet ou partiel.

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;

    //Create a deep clone.  The cloned node 
    //includes the child nodes.
    XmlNode deep = root.CloneNode(true);
    Console.WriteLine(deep.OuterXml);

    //Create a shallow clone.  The cloned node does not 
    //include the child nodes, but does include its attribute.
    XmlNode shallow = root.CloneNode(false);
    Console.WriteLine(shallow.OuterXml);
  }
}

Plateforme Windows universelle
Disponible depuis 10
.NET Framework
Disponible depuis 1.1
Retour au début
Afficher: