次の方法で共有


方法 : XPath を使用し LINQ to XML に対してクエリを実行する

このトピックでは、XPath を使用して XML ツリーに対してクエリを実行できる拡張メソッドについて説明します。 これらの拡張メソッドの使用に関する詳細については、System.Xml.XPath.Extensions を参照してください。

古いコードの広範な利用など、XPath を使用してクエリを実行する特別な理由がない限りは、XPath を LINQ to XML と共に使用することはお勧めできません。 XPath クエリは、LINQ to XML クエリよりもパフォーマンスが低くなります。

使用例

次の例では、小さな XML ツリーを作成し、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

この例を実行すると、次の出力が生成されます。

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

参照

概念

高度なクエリ手法 (LINQ to XML)