2010-11-26 2 views

答えて

6
//div[@class='foo' or @class='bar'] 
+3

+1良い答え。また、これは短いです: '/div[@class[.='foo 'または。=' bar ']]' –

+0

+1は良い答えです。 –

+2

FYI、さまざまなxpath構成の構文を覚えていない人のために、mulberrytech.comに1ページのクイックリファレンスカードがあります。とても便利な。 http://www.mulberrytech.com/quickref/index.htmlで検索してください。 – Cheeso

1

//div[@class='foo'] | //div[@class='bar']

+1

これは@ Matthewの解決策よりも2倍遅くなる可能性があります。なぜなら、完全なツリーの2倍を横断する必要があるからです。 –

+1

@Dimitreありがとう。 * OR *を '|'に翻訳しましたが、私はMatthewの解決策が優れていると思いました。 *や*の構文のために私の答えを残す。 –

+0

@styu: '|'は 'または'とは関係ありません。 '|'はXPathのユニオン演算子であり、インテリジェントではないXPathエンジンは、まずユニオン操作を実行する前に両方のオペランドを評価します。これは、ドキュメントツリー全体を2回別々にトラバースします。 –

関連する問題