私は単純なxpathを持っています
/products/product[contains(categorie,'Kinderwagens')]
動作しますが、複数のカテゴリ値をフィルタリングするにはどうすればよいですか
お気に入り
/products/product[contains(categorie,'Kinderwagens')] +
/products/product[contains(categorie,'Kinderwagens')]
これは機能しますか?
/products/product[contains(categorie,'Kinderwagens') or contains(categorie,'Wonderwagens')]
ここにも同様の質問があります
本当に contains() が必要ですか? 「=」を使用する必要があるときに、ノードに値が含まれているかどうかをテストするために、contains() を使用することがよくあります。違いは、categorie 要素が文字列値 'Kinderwagens' を持っている場合、categorie = 'wagens'
false であるcontains(categorie, 'wagens')
が true であるということです。
実際に「=」を意図していた場合、XPath 2.0 では と書くことができます[categorie = ('Kinderwagens', 'Wonderwagens')]
。まだ XPath 1.0 を使用している場合は、「or」を使用して 2 つの別々の比較が必要です。
多くの方法があります:
//*[contains(text(), 'Kinderwagens') or contains(text(), 'Kinderwagens')]
//product[contains(text(), 'Kinderwagens') or contains(text(), 'Kinderwagens')]
//products/product[contains(text(), 'Kinderwagens') or contains(text(), 'Kinderwagens')]
//products/product[contains(categorie, 'Kinderwagens') or contains(categorie, 'Kinderwagens')]
注: | (ビットごとの OR)演算子は使用しないでください
以下のように複数のテキストを渡すことができます
//a[contains(text(),'JB-' | 'ABC')]