Xpathとは
XML Path Language の略。マークアップ言語(タグというマークで囲んだ言語)。
正式名称(XML Path Language)から紐解く
XMLってなんだっけ?
データをタグで記述できるマークアップ言語。
xmlの例
<好きな車>
<車>
<車種名>S-CLASS</車種名>
<メーカー>メルセデスベンツ</メーカー>
</車>
<車>
<車種名>ポルシェ</車種名>
<メーカー>フォルクスワーゲン</メーカー>
</車>
<車>
<車種名>F8トリビュート</車種名>
<メーカー>フェラーリ</メーカー>
</車>
</好きな車>
このXMLに、Path(パス)を通すことができるのが、Xpath!
例えば、全車種名が欲しいなってときは、Xpathを使うと一括で取得可能。夢のような言語です。なんと、XMLだけではなく、HTMLにも使えるんです。Xpathは、WEBクローラーでよく使われます。
Xpathの考え方
木構造と呼ばれる概念を理解する必要があります。木構造=階層構造
<html> <head></head> <body></body> </html>
ルートノード
記述の仕方
ロケーションパス
Xpathの記述は、2パターンある。
1.省略
2.完全
軸
| 名前 | 説明 |
|---|---|
| self | コンテクストノード自身 |
| child | コンテクストノードの子ノード |
| descendant | コンテクストノードの子孫ノード |
| parent | コンテクストノードの親ノード |
| ancestor | コンテクストノードから祖先ノード(親も含む) |
| following | コンテクストノードより後方にある全てのノード |
| preceding | コンテクストノードより前方にある全てのノード |
| following-sibling | コンテクストノードの兄弟ノードのうち後方のノード |
| preceding-sibling | コンテクストノードの兄弟ノードのうち前方のノード |
| descendant-or-self | コンテクストノード自身とコンテクストノードの子孫ノード |
| ancestor-or-self | コンテクストノード自身とコンテクストノードの祖先ノード |
| attribute | コンテクストノードが要素の場合、その属性ノード |
| namespace | コンテクストノードが要素の場合、その名前空間ノード |
コンテクストノード:現在のノード
(Wikiを参考とさせていただきました)

コメント