LINQ to XML pour les utilisateurs XPath
Cet ensemble de rubriques illustre un certain nombre d'expressions XPath et leurs équivalents LINQ to XML.
Tous les exemples utilisent la fonctionnalité XPath dans LINQ to XML accessible par la méthode d'extension dans System.Xml.XPath.Extensions. L'exemple exécute à la fois l'expression XPath et l'expression LINQ to XML. Chaque exemple compare ensuite les résultats des deux requêtes et confirme que l'expression XPath est fonctionnellement équivalente à la requête LINQ to XML. Étant donné que les deux types de requêtes retournent des nœuds de la même arborescence XML, la comparaison des résultats de requêtes est effectuée à l'aide de l'identité référentielle.
Dans cette section
Rubrique |
Description |
---|---|
Fournit une vue d'ensemble des similitudes et différences entre XPath et LINQ to XML. |
|
Procédure : rechercher un élément enfant (XPath-LINQ to XML) |
Compare l'axe des éléments enfants XPath à la méthode LINQ to XML Element. L'expression XPath associée est : "DeliveryNotes". |
Procédure : rechercher une liste d'éléments enfants (XPath-LINQ to XML) |
Compare l'axe des éléments enfants XPath à l'axe LINQ to XML Elements. L'expression XPath associée est : "./*" |
Compare comment obtenir l'élément racine avec XPath et LINQ to XML. L'expression XPath associée est : "/PurchaseOrders". |
|
Procédure : rechercher des éléments descendants (XPath-LINQ to XML) |
Compare comment obtenir les éléments descendants avec un nom particulier avec XPath et LINQ to XML. L'expression XPath associée est : "//Name" |
Compare comment obtenir les éléments descendants avec un nom spécifié, et avec un attribut avec une valeur spécifiée avec XPath et LINQ to XML. L'expression XPath associée est : ".//Address[@Type='Shipping']" |
|
Procédure : rechercher des éléments connexes (XPath-LINQ to XML) |
Compare comment obtenir un élément en sélectionnant un attribut auquel il est fait référence par la valeur d'un autre élément avec XPath et LINQ to XML. L'expression XPath associée est : ".//Customer[@CustomerID=/Root/Orders/Order[12]/CustomerID]" |
Procédure : rechercher des éléments dans un espace de noms (XPath-LINQ to XML) |
Compare l'utilisation de la classe XmlNamespaceManager XPath à la propriété LINQ to XML Namespace de la classe XName pour une utilisation avec des espaces de noms XML. L'expression XPath associée est : "./aw:*" |
Procédure : rechercher les frères précédents (XPath-LINQ to XML) |
Compare l'axe preceding-sibling XPath à l'axe XNode.ElementsBeforeSelf enfant LINQ to XML. L'expression XPath associée est : "preceding-sibling::*" |
Procédure : rechercher les descendants d'un élément enfant (XPath-LINQ to XML) |
Compare comment obtenir les éléments descendants d'un élément enfant avec un nom particulier avec XPath et LINQ to XML. L'expression XPath associée est : "./Paragraph//Text/text()" |
Procédure : rechercher une union de deux chemins d'emplacements (XPath-LINQ to XML) |
Compare l'utilisation de l'opérateur d'union | dans XPath avec l'opérateur de requête standard Concat<TSource> dans LINQ to XML. L'expression XPath associée est : "//Category|//Price" |
Compare comment rechercher tous les frères d'un nœud qui ont un nom spécifique avec XPath et LINQ to XML. L'expression XPath associée est : "../Book" |
|
Procédure : rechercher un attribut du parent (XPath-LINQ to XML) |
Compare comment naviguer jusqu'à l'élément parent et rechercher un attribut associé à l'aide de XPath et LINQ to XML. L'expression XPath associée est : "../@id" |
Procédure : rechercher des attributs de frères avec un nom spécifique (XPath-LINQ to XML) |
Compare comment rechercher des attributs spécifiques des frères du nœud de contexte avec XPath et LINQ to XML. L'expression XPath associée est : "../Book/@id" |
Procédure : rechercher des éléments avec un attribut spécifique (XPath-LINQ to XML) |
Compare comment rechercher tous les éléments contenant un attribut spécifique à l'aide de XPath et LINQ to XML. L'expression XPath associée est : "./*[@Select]" |
Procédure : rechercher des éléments enfants en fonction de leur position (XPath-LINQ to XML) |
Compare comment rechercher un élément en fonction de sa position relative à l'aide de XPath et LINQ to XML. L'expression XPath associée est : "Test[position() >= 2 and position() <= 4]" |
Procédure : rechercher le frère précédent (XPath-LINQ to XML) |
Compare comment faire rechercher le frère précédent d'un nœud à l'aide de XPath et LINQ to XML. L'expression XPath associée est : "preceding-sibling::*[1]" |
Voir aussi
Référence
Concepts
Interrogation d'arborescences XML
Traitement des données XML à l'aide du modèle de données XPath