Abfragen von LINQ to XML mit XPath (LINQ to XML)

Dieser Artikel bietet eine Einführung in die Erweiterungsmethoden, mit deren Hilfe Sie eine XML-Struktur mit XPath abfragen können. Ausführliche Informationen zum Verwenden dieser Erweiterungsmethoden finden Sie unter System.Xml.XPath.Extensions.

Hinweis

Sofern Sie keinen besonderen Grund dafür haben, Abfragen mit XPath zu schreiben, z. B. weil in großem Maße Legacy-Code verwendet wird, wird die Verwendung von XPath mit LINQ to XML nicht empfohlen. Die Leistung von XPath-Abfragen ist nicht so gut wie die von LINQ to XML-Abfragen.

Beispiel

Das folgende Beispiel erstellt eine kleine XML-Struktur und verwendet zum Auswählen eines Satzes von Elementen XPathSelectElements.

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

Dieses Beispiel erzeugt die folgende Ausgabe:

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