Partager via


Contenu valide des objets XElement et XDocument

Mise à jour : November 2007

Cette rubrique décrit les arguments valides qui peuvent être passés aux constructeurs et méthodes utilisés pour ajouter du contenu aux éléments et aux documents.

Contenu valide

Les requêtes sont souvent évaluées à un objet IEnumerable<T> de XElement ou un objet IEnumerable<T> de XAttribute. Vous pouvez passer des collections d'objets XElement ou XAttribute au constructeur XElement. Par conséquent, il est commode de passer les résultats d'une requête en tant que contenu dans des méthodes et des constructeurs que vous utilisez pour remplir des arborescences XML.

Lors de l'ajout de contenu simple, divers types peuvent être passés à cette méthode. Les types valides sont les suivants :

Lors de l'ajout de contenu complexe, divers types peuvent être passés à cette méthode :

Si un objet implémente IEnumerable<T>, la collection dans l'objet est énumérée et tous les éléments de la collection sont ajoutés. Si la collection contient des objets XNode ou XAttribute, chaque élément de la collection est ajouté séparément. Si la collection contient du texte (ou des objets convertis en texte), le texte dans la collection est concaténé et ajouté en tant que nœud de texte simple.

Si le contenu est null, rien n'est ajouté. Lors du passage d'une collection, des éléments de cette collection peuvent avoir la valeur null. Un élément null dans la collection n'a aucun effet sur l'arborescence.

Un attribut ajouté doit avoir un nom unique dans son élément conteneur.

Lors de l'ajout d'objets XNode ou XAttribute, si le contenu n'a pas de parent, les objets sont simplement attachés à l'arborescence XML. Si le nouveau contenu a déjà un parent et fait partie d'une autre arborescence XML, il est cloné et le nouveau contenu cloné est attaché à l'arborescence XML.

Contenu valide pour les documents

Les attributs et le contenu simple ne peuvent pas être ajoutés à un document.

Il n'existe pas beaucoup de scénarios qui requièrent la création d'un objet XDocument. Au lieu de cela, vous pouvez généralement créer vos arborescences XML avec un nœud racine XElement. À moins que la création d'un document ne soit spécifiquement requise (par exemple si vous devez créer des instructions de traitement et des commentaires au niveau supérieur ou si vous devez prendre en charge des types de documents), il est souvent plus commode d'utiliser XElement comme nœud racine.

Le contenu valide pour un document inclut les éléments suivants :

  • Zéro ou un objet XDocumentType. Les types de documents doivent figurer avant l'élément.

  • Zéro ou un élément.

  • Zéro ou plusieurs commentaires.

  • Zéro ou plusieurs instructions de traitement.

  • Zéro ou plusieurs nœuds de texte qui contiennent uniquement des espaces blancs.

Constructeurs et fonctions qui autorisent l'ajout de contenu

Les méthodes suivantes vous permettent d'ajouter du contenu enfant à un objet XElement ou XDocument :

Méthode

Description

XElement

Construit un objet XElement.

XDocument

Construit un objet XDocument.

Add

Ajoute à la fin du contenu enfant de l'objet XElement ou XDocument.

AddAfterSelf

Ajoute du contenu après l'objet XNode.

AddBeforeSelf

Ajoute du contenu avant l'objet XNode.

AddFirst

Ajoute du contenu au début du contenu enfant de l'objet XContainer.

ReplaceAll

Remplace tout le contenu (nœuds enfants et attributs) d'un objet XElement.

ReplaceAttributes

Remplace les attributs d'un objet XElement.

ReplaceNodes

Remplace les nœuds enfants par du nouveau contenu.

ReplaceWith

Remplace un nœud par du nouveau contenu.

Voir aussi

Concepts

Création d'arborescences XML