Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une fois que vous avez créé une arborescence XML ou chargé un document XML dans une arborescence XML, vous pouvez l’interroger pour rechercher des éléments et des attributs et récupérer leurs valeurs. Vous récupérez des collections par le biais des méthodes d’axe, également appelées axes. Certains axes sont des méthodes des classes XElement et XDocument qui retournent des collections IEnumerable<T>. Certains axes sont des méthodes d’extension dans la Extensions classe. Les axes qui sont implémentés en tant que méthodes d’extension opèrent sur des collections et retournent des collections.
Comme décrit dans la vue d’ensemble de la classe XElement, un XElement objet représente un nœud d’élément unique. Le contenu d’un élément peut être complexe (parfois appelé contenu structuré), ou il peut s’agir d’un élément simple. Un élément simple peut être vide ou contenir une valeur. Si le nœud contient du contenu structuré, vous pouvez utiliser les différentes méthodes d’axe pour récupérer des énumérations d’éléments descendants. Les méthodes d’axe les plus couramment utilisées sont Elements et Descendants.
En plus des méthodes d’axe, qui retournent des collections, il existe deux autres méthodes que vous utiliserez couramment dans les requêtes LINQ to XML. La Element méthode retourne un seul XElement. La Attribute méthode retourne un seul XAttribute.
À de nombreuses fins, les requêtes LINQ offrent le moyen le plus puissant d’examiner une arborescence, d’extraire des données et de les transformer. Les requêtes LINQ opèrent sur des objets qui implémentent IEnumerable<T>, et les axes LINQ to XML retournent des collections IEnumerable<T> of XElement et IEnumerable<T> de collections XAttribute. Vous avez besoin de ces collections pour effectuer vos requêtes.
Outre les méthodes d’axe qui récupèrent des collections d’éléments et d’attributs, il existe des méthodes d’axe qui vous permettent d’itérer au sein de l’arborescence en détail. Par exemple, au lieu de traiter des éléments et des attributs, vous pouvez utiliser les nœuds de l’arborescence. Les nœuds sont un niveau de granularité plus précis que les éléments et les attributs. Lorsque vous utilisez des nœuds, vous pouvez examiner les commentaires XML, les nœuds de texte, les instructions de traitement, etc. Cette fonctionnalité est importante, par exemple, pour une personne qui écrit un traitement de texte et qui souhaite enregistrer des documents au format XML. Toutefois, la majorité des programmeurs XML concernent principalement les éléments, les attributs et leurs valeurs.
Méthodes de récupération d’une collection d’éléments
Voici un résumé des méthodes de la classe XElement (ou de ses classes de base) que vous appelez sur un XElement pour retourner une collection d’éléments.
| Méthode | Descriptif |
|---|---|
| XNode.Ancestors | Retourne un objet IEnumerable<T> de XElement des ancêtres de cet élément. Une surcharge retourne un objet IEnumerable<T> de XElement des ancêtres qui ont l'objet XName spécifié. |
| XContainer.Descendants | Retourne un objet IEnumerable<T> de XElement des descendants de cet élément. Une surcharge retourne un objet IEnumerable<T> de XElement des descendants qui ont l'objet XName spécifié. |
| XContainer.Elements | Retourne un objet IEnumerable<T> de XElement des éléments enfants de cet élément. Une surcharge retourne un objet IEnumerable<T> de XElement des éléments enfants qui ont l'objet XName spécifié. |
| XNode.ElementsAfterSelf | Retourne un objet IEnumerable<T> de XElement des éléments enfants placés après cet élément. Une surcharge retourne un objet IEnumerable<T> de XElement des éléments après cet élément qui ont l'objet XName spécifié. |
| XNode.ElementsBeforeSelf | Retourne un objet IEnumerable<T> de XElement des éléments enfants placés avant cet élément. Une surcharge retourne un objet IEnumerable<T> de XElement des éléments avant cet élément qui ont l'objet XName spécifié. |
| XElement.AncestorsAndSelf | Retourne un objet IEnumerable<T> de XElement de cet élément et de ces ancêtres. Une surcharge retourne un objet IEnumerable<T> de XElement des éléments qui ont l'objet XName spécifié. |
| XElement.DescendantsAndSelf | Retourne un objet IEnumerable<T> de XElement de cet élément et de ces descendants. Une surcharge retourne un objet IEnumerable<T> de XElement des éléments qui ont l'objet XName spécifié. |
Méthode de récupération d’un seul élément
La méthode suivante récupère un seul enfant à partir de l'objet XElement.
| Méthode | Descriptif |
|---|---|
| XContainer.Element | Retourne le premier objet enfant XElement qui possède le XName spécifié. |
Méthode de récupération d’une collection d’attributs
La méthode suivante récupère les attributs d’un XElement objet.
| Méthode | Descriptif |
|---|---|
| XElement.Attributes | Retourne un objet IEnumerable<T> de XAttribute de tous les attributs. |
Méthode de récupération d’un attribut unique
La méthode suivante récupère un attribut unique à partir d’un XElement objet.
| Méthode | Descriptif |
|---|---|
| XElement.Attribute | Retourne l'objet XAttribute qui a l'objet XName spécifié. |