次の方法で共有


XPath ユーザー向けの LINQ to XML

次に示す一連のトピックでは、さまざまな XPath 式、およびそれらに関連する LINQ to XML の式について説明します。 

拡張メソッドによって System.Xml.XPath.Extensions で使用可能になる LINQ to XML の XPath 機能をすべての例で使用します。 各例では、XPath 式と LINQ to XML 式の両方を実行します。 次に、両方のクエリの結果を比較して、XPath 式と LINQ to XML クエリが機能的に等価であることを検証します。 両方の種類のクエリは同じ XML ツリーからノードを返すため、クエリ結果は参照 ID を使用して比較されます。

このセクションの内容

トピック

内容

XPath と LINQ to XML の比較

XPath と LINQ to XML の類似点および相違点についての概要を説明します。

方法 : 子要素を検索する (XPath-LINQ to XML)

XPath の子要素軸と LINQ to XML の Element メソッドを比較します。 

関連する XPath 式は "DeliveryNotes" です。

方法 : 子要素の一覧を検索する (XPath-LINQ to XML)

XPath の子要素軸と LINQ to XML の Elements 軸を比較します。

関連する XPath 式は "./*" です。

方法 : ルート要素を検索する (XPath-LINQ to XML)

ルート要素を取得する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "/PurchaseOrders" です。

方法 : 子孫要素を検索する (XPath-LINQ to XML)

特定の名前を持つ子孫要素を取得する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "//Name" です。

方法 : 属性をフィルター処理する (XPath-LINQ to XML)

指定した名前を持ち、かつ指定した値の属性を持つ子孫要素を取得する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は ".//Address[@Type='Shipping']" です。

方法 : 関連要素を検索する (XPath-LINQ to XML)

別の要素の値によって参照される属性に基づいて要素を取得する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は ".//Customer[@CustomerID=/Root/Orders/Order[12]/CustomerID]" です。

方法 : 名前空間内の要素を検索する (XPath-LINQ to XML)

XML 名前空間の操作について、XPath の XmlNamespaceManager クラスを使用する方法と、LINQ to XML の XName クラスの Namespace プロパティを使用する方法を比較します。

関連する XPath 式は "./aw:*" です。

方法 : 先行する兄弟を検索する (XPath-LINQ to XML)

XPath の preceding-sibling 軸と LINQ to XML の子 XNode.ElementsBeforeSelf 軸を比較します。 

関連する XPath 式は "preceding-sibling::*" です。

方法 : 子要素の子孫を検索する (XPath-LINQ to XML)

特定の名前を持つ子要素の子孫要素を取得する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "./Paragraph//Text/text()" です。

方法 : 2 つのロケーション パスの和集合を検索する (XPath-LINQ to XML)

XPath の UNION 演算子 | と LINQ to XML の Concat<TSource> 標準クエリ演算子を比較します。

関連する XPath 式は "//Category|//Price" です。

方法 : 兄弟ノードを検索する (XPath-LINQ to XML)

特定の名前を持つノードのすべての兄弟を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "../Book" です。

方法 : 親の属性を検索する (XPath-LINQ to XML)

親要素に移動してその属性を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "../@id" です。

方法 : 特定の名前を持つ兄弟の属性を検索する (XPath-LINQ to XML)

コンテキスト ノードの兄弟に関する特定の属性を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "../Book/@id" です。

方法 : 特定の属性を持つ要素を検索する (XPath-LINQ to XML)

特定の属性を持つすべての要素を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "./*[@Select]" です。

方法 : 位置に基づいて子要素を検索する (XPath-LINQ to XML)

相対的位置に基づいて要素を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "Test[position() >= 2 and position() <= 4]" です。

方法 : 直前の兄弟を検索する (XPath-LINQ to XML)

ノードの直前の兄弟を検索する方法を、XPath と LINQ to XML の間で比較します。

関連する XPath 式は "preceding-sibling::*[1]" です。

参照

参照

System.Xml.XPath

概念

XML ツリーのクエリ

XPath データ モデルを使用した XML データの処理