Xpath

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を参考とさせていただきました)

 

コメント

タイトルとURLをコピーしました