XML文書の例
私たちは、以下の例では、次のXML文書を使用します。
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
XPathの軸
軸は、ノードセット現在のノードに対して定義します。
AxisName | 結果 |
---|---|
祖先 | 全ての祖先を選択する(parent, grandparent, etc.)現在のノードのを |
祖先-または自己 | 全ての祖先を選択する(parent, grandparent, etc.)現在のノード及び現在のノード自体の |
属性 | 現在のノードのすべての属性を選択します |
子 | 現在のノードのすべての子を選択します |
子孫 | すべての子孫を選択し(children, grandchildren, etc.)現在のノードのを |
子孫-または自己 | すべての子孫を選択する(children, grandchildren, etc.)現在のノードと現在のノード自体のを |
以下 | 現在のノードの終了タグの後に、文書内のすべてを選択します |
以下、兄弟 | 現在のノードの後にすべての兄弟を選択 |
名前空間 | 現在のノードのすべての名前空間ノードを選択します |
親 | 現在のノードの親を選択します |
前の | 祖先、属性ノードや名前空間ノードを除いて、ドキュメント内の現在のノードの前に現れるすべてのノードを選択します。 |
先行兄弟 | 現在のノードの前にすべての兄弟を選択 |
自己 | 現在のノードを選択します |
場所パス式
ロケーション・パスは、絶対的または相対的であることができます。
絶対ロケーションパスはスラッシュで始まる( / )との相対位置パスがありません。 両方の場合において、ロケーション・パスは、それぞれスラッシュで区切られた、一の以上のステップから成ります。
An absolute location path:
/step/step/...
A relative location path:
step/step/...
各ステップは、現在のノードセット内のノードに対して評価されます。
ステップの構成は次のとおりです。
- 軸(defines the tree-relationship between the selected nodes and the current node)
- ノード・テスト(identifies a node within an axis)
- ゼロ以上の述部(to further refine the selected node-set)
ロケーションステップの構文は次のとおりです。
axisname::nodetest[predicate]
例
例 | 結果 |
---|---|
子供::書籍 | 現在のノードの子であるすべての本のノードを選択 |
属性:: LANG | 選択lang現在のノードの属性を |
子::* | 現在のノードのすべての子要素を選択します |
属性::* | 現在のノードのすべての属性を選択します |
子供:: text() | 現在のノードのすべてのテキストノードの子を選択します |
子:: node() | 現在のノードのすべての子を選択します |
子孫::書籍 | 現在のノードのすべての書籍の子孫を選択 |
祖先::書籍 | 現在のノードのすべての本の祖先を選択 |
祖先-または自己::書籍 | それは本のノードである場合と同様に、現在 - 現在のノードのすべての本の祖先を選択 |
子供:: * /子::価格 | 現在のノードのすべての価格孫を選択 |