XPathの記述サンプル:基本編

XPathでの記述は一見ややこしいように見えますが、慣れてしまえばとても単純です。
今回はソースコードを例にして、XPathでの記述サンプルをご紹介いたします。

[例]

<html>
 <head>
  <title>flamingo XPathサンプル</title>
 </head>
 <body>
  <div id="main">
   <div class="clearfix">
    <p>サンプルテキスト01</p>
   </div>
   <div class="clearfix">
    <ul>
     <li>りんご</li>
     <li>みかん</li>
     <li>いちご</li>
    </ul>
   </div>
   <div>
    <ul>
     <li>いぬ</li>
     <li>ねこ</li>
    </ul>
   </dil>
   <p>サンプルテキスト02</p>
  </div>
 </body>
</html>


・タイトルタグ

//title

"//"とは全位置を意味します。
これを先頭につけることによって、全位置から右記の要素を取得できます。
よって、上記記述によって「ソースコード内にある<title></title>の中身」が取得できます。


・id="main"のdiv

//div[@id="main"]

"[]"を付与することによって、左記タグの詳細を指定することができます。
上記の記述は、idがmainのdivタグ、という指定です。


・サンプルテキスト01

//div[@id="main"]/div[@class="clearfix"]/p

スラッシュが1個の場合は直下の子要素を意味します。
ちなみにスラッシュが2個の場合は子要素、孫要素全てが対象となります。


・みかん

//div[@class="clearfix"]/ul/li[2]

タグに"[2]"と記述することで、並列要素内の何番目の要素かを指定することができます。


・いぬ

//div[@id="main"]/div[not(@class)]/ul/li[1]

classを持たない場合は"[not(@class)]"と記述することで指定が可能です。
もちろん指定をしなくても取得はできますが、その場合classの有無にかかわらず、
並列内にあるdivタグが全て取得されてしまいます。


・サンプルテキスト02

//div[@id="main"]/p

サンプルテキスト01とは違い、こちらのpタグは<div id="main">の子要素ですので
この記述の仕方で取得することができます。



※当ナレッジに掲載されているサンプルは、XPathを記述したことのない方を対象にしています。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください
Powered by Zendesk