1.相対配置と絶対配置
//は相対配置を意味し、頻繁に変更されるページまたはノードの場合は、相対配置を使用して検索する必要があります。
/は絶対配置を意味します。 は変更されず、絶対 位置を使用して
2.トップ ノード: bookstore
を検索できます。ノード : ” . "
現在のノードが複数ある場合は、複数の
と一致します。
現在のノードが 1 しかない場合は、1 と一致します。
現在のノードの親ノードを選択します: ”...”html/ body、その親ノードは bodyこれは絶対パスを使用します。つまり、HTML から本文を見つけてから p を見つけ、p の親ノードと一致する必要があります。
相対パスを使用して親ノードを見つけると、
p から始まる絶対位置が考慮されないことがわかります。これは、
から始まる親ノードの条件を満たすすべての要素が考慮されることを意味します。体がバレてしまいます。
現在のノードの下にあるすべての要素を検索します:
//book[1]/..これは、ノードインデックス+親ノード
の方法です3.
タグで要素を検索
Baiduの別のタグ
という名前のタグをすべて検索します
4. 属性の配置[]'は属性
を見つけることを意味します2.
textテキストを使用します属性の正確な配置。テキストを
に置き換えて、//book//price
の下にテキストが 30.00 である要素を見つけることもできます。
yearタグ内で2004より大きい要素textを見つける
を含むためにぼやけている テキスト情報内でPotterを含む要素を見つけて検索します: //title[contains(text (),"ポッター")]
拡張実践
4."* ”は任意の属性、すべての属性を意味します
属性値を持つすべての要素を検索する:
//@*
title
タグを検索 属性を持つすべての要素
: を使用を否定するではなく、
はという意味です
titleタグ内に属性を持たない要素を検索します。ここには何もないので見つかりません @*はすべての属性を意味します not(@*)はnoを意味します。属性
5.category 属性
//@category
5.論理演算子
1.要素を見つける
and演算子を介して
//book[@category="web" および @cover="paperback"]
3.
not演算子を否定して要素を配置します
//book[not(position()>2)]bookタグを取得します
// book[not(position()>2)] ここで、position が
2 より大きい場合は、否定されません//year[not(.=2005)]
は、 Year ノード を取ることを意味します2005 テキスト ノードではありません
">=""オペレーター要素
//price>=30を見つけて、要素に30以上のpriceがあるかどうかを確認します存在し、戻り値 ブール値 true 存在しない 戻り値 ブール値: false
6.ノードインデックスで要素を検索
1.最初の要素の検索//book[1]:最初の
ラベル book
番目の 要素
//bookstore/book[position()=3] を配置します。 パスPosition は複数の位置をとります 要素
//bookstore/book[position()>=2]4. last()
関数を通じて最後の要素を検索します //book[last() ] 5.
last()関数を使用して最後から2番目の要素を検索します
//book[last()-1]
7.
軸の位置決め
Findbook [1]/title
の親要素://book[1]/title/parent::*
book[1]の子要素を検索: / /book[1]/child ::*
following-sibling は、現在のノード の後続の順序ですべての兄弟ノード要素を表します。これは、 title
/bookstore/ book[ の後のすべての兄弟ノードを検索することを意味します1]/child::title/following-sibling::author following-sibling::author title
preceding-sibling: :* の背後にあるすべての兄弟ノードで author という名前の要素を検索するように指定します。現在のノードの前にあるすべての兄弟要素を意味します
//bookstore/book[1]/child::price/preceding-sibling::* price ノードの前にあるすべての兄弟要素を検索することを意味します
自分自身を含む祖先ノードを検索: //book[1]/ancestor-or-self::*
自分自身を含む子孫ノードを検索: //book[1]/descendant-or -self::*
現在のノードのすべての要素を検索します: //book[1]/preceding::* 現在のノードの下にあるすべての要素を検索します
//book[2]//preceding::* は book[2] と book[2] ノードの前のすべての要素を検索します
axis 概要:
parent::* は現在のノードの親ノード要素を表します
ancestor::* は現在のノードの祖先ノード要素を表します
child::* は現在のノードの子要素を表します /A/descendant:: * は A を表します すべての子孫要素
self::* は現在のノードの self 要素を表します
ancestor-or-self::* は現在のノードとその祖先ノードの要素を表します
descendant-or-self::* は現在のノードを表します要素
following-sibling::* は、現在のノードの次の順序にあるすべての兄弟ノード要素を表します。
preceding-sibling::* は、現在のノードの前にあるすべての兄弟ノード要素を表します。 * は現在のノードの次の順序ですべての兄弟ノード要素を表します
:* は現在のノードのすべての要素を表します
。
以上がXpath の位置決めの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。