Partager via


Procédure : interroger LINQ to XML à l'aide de XPath

Mise à jour : November 2007

Cette rubrique présente les méthodes d'extension qui vous permettent d'interroger une arborescence XML à l'aide de XPath. Pour plus d'informations sur l'utilisation de ces méthodes d'extension, consultez System.Xml.XPath.Extensions.

À moins que vous n'ayez une raison spécifique pour interroger à l'aide de XPath, par exemple en cas d'utilisation intensive de code hérité, l'utilisation de XPath avec LINQ to XML n'est pas recommandée. Les requêtes XPath présentent des performances inférieures à celles des requêtes LINQ to XML.

Exemple

L'exemple suivant crée une petite arborescence XML et utilise XPathSelectElements pour sélectionner un ensemble d'éléments.

XElement root = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child1", 2),
    new XElement("Child1", 3),
    new XElement("Child2", 4),
    new XElement("Child2", 5),
    new XElement("Child2", 6)
);
IEnumerable<XElement> list = root.XPathSelectElements("./Child2");
foreach (XElement el in list)
    Console.WriteLine(el);
Dim root As XElement = _
    <Root>
        <Child1>1</Child1>
        <Child1>2</Child1>
        <Child1>3</Child1>
        <Child2>4</Child2>
        <Child2>5</Child2>
        <Child2>6</Child2>
    </Root>

Dim list As IEnumerable(Of XElement) = root.XPathSelectElements("./Child2")
For Each el As XElement In list
    Console.WriteLine(el)
Next

Cet exemple produit la sortie suivante :

<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>

Voir aussi

Concepts

Techniques de requêtes avancées (LINQ to XML)