XPath の例
このトピックでは、「XPath リファレンス」全体を通じて提示される構文例を説明します。 すべての例は、「XPath 構文のサンプル XML ファイル (inventory.xml)」に基づいてます。 テスト ファイル内で XPath 式を使用する方法を示す例については、このトピックの最後の「和集合の例 ( | )」を参照してください。
式 | 説明 |
---|---|
|
現在のコンテキスト内のすべての |
|
現在のコンテキスト内のすべての |
|
現在のコンテキスト内のすべての |
|
このドキュメントのドキュメント要素 ( |
|
このドキュメント内のすべての |
|
ドキュメントのルートにある |
|
|
|
|
|
|
|
|
|
現在のコンテキスト内の 1 段階以上深いレベルにあるすべての |
|
|
|
|
|
現在のコンテキストのすべての孫要素です。 |
|
|
|
現在のコンテキストの |
|
現在のコンテキスト内の |
|
属性には要素の子が含まれないため、空のノード セットが返ります。 この式は、XPath (XML Path Language) の文法上は使用可能ですが、厳密にいえば有効ではありません。 |
|
現在のコンテキストの |
|
現在のコンテキストのすべての |
|
現在の要素のコンテキストのすべての属性。 |
|
現在のコンテキスト ノード内のすべての |
|
現在のコンテキスト ノード内のすべての |
|
現在のコンテキスト ノード内の最初の |
|
子要素 |
|
|
|
|
|
|
インデックスは親を基準にして付けられる点に注意してください。 次のデータについて考えてみましょう。
<x>
<y/>
<y/>
</x>
<x>
<y/>
<y/>
</x>
式 | 説明 |
---|---|
|
個々の |
|
個々の |
|
|
|
最初の |
これ以降に示す例では、XPath のサンプル XML ファイルについて説明します。
式 | 説明 |
---|---|
|
現在のコンテキスト ノードの最後の |
|
現在のコンテキスト ノードの個々の |
|
現在のコンテキスト ノードの |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの |
|
少なくとも 1 つの子要素 |
|
少なくとも 1 つの子要素 |
|
値が |
|
最初の子要素 |
|
最初の子要素 |
|
|
|
値が |
|
値が |
|
最初の 3 冊の本 (1、2、3)。 |
|
値が |
|
値が |
|
値が |
|
値が |
|
持っている |
|
コンテキスト ノードの子要素である最初の 2 つの |
|
コンテキスト ノード内の個々の |
|
コンテキスト ノードの最も近い祖先に当たる |
|
コンテキスト ノードの最も近い祖先に当たる |
|
現在のコンテキストで最も近い祖先に当たる |
和集合の例 ( | )
和集合演算の例を示すために、次の XPath 式を使用します。
x | y/x
次の XML ファイルで、値が green または blue であるすべての <x> 要素を選択します。
XML ファイル (data1.xml)
XSLT ファイル (union.xsl)
書式付き出力
green,blue,blue,green
プロセッサ出力
<?xml version="1.0" encoding="UTF-16"?>green,blue,blue,green