2011-07-20 8 views
1

ノードの親に条件を追加しようとしていますが、動作させることができません。xPath - ノードの親に条件を追加する方法?

私は特定のクラスを持つノードをしたい、だけでなく、親がまた、特定のクラスを持っている、のように:

//*[@class='price' and [email protected]='special-price'] 

誰かがあまりにも親に条件を追加する方法についてのアイデアを持っていますか?

おかげ

答えて

1

使用//*p[@class = 'special-price']/*[@class = 'price']または//*[@class = 'price' and ../@class = 'special-price']。あなたがとにかく文書全体を検索している場合は

+1

あなたの答えはありがとうございました! 2番目のものは私のためにうまく動作します。私は次の方法も見つけましたが、あなたの方がはるかに短いです。 親:: node()[@ class = 'price-box'] – Adrien

2
//*[@class='special-price']/*[@class='price'] 

は、その後、むしろ子供を選択し、親をチェックするために戻って上がっていくよりも、子どもたちへの途中で両親をフィルタリングします。

+0

あなたの答えをありがとう。しかし、私は子供を選んで、特定の場合に戻る必要があります。これは私のために働いたものです: (..)// * [@ class = 'old-price'または@ class = 'price-except-tax'と../@ class = 'price-box'] ..) – Adrien

関連する問題