Подтвердить что ты не робот

XPath содержит одно из нескольких значений

У меня есть простой xpath

 /products/product[contains(categorie,'Kinderwagens')] 

Это работает, но теперь, как я могу фильтровать несколько значений категории

как

/products/product[contains(categorie,'Kinderwagens')]  +  
/products/product[contains(categorie,'Kinderwagens')] 
4b9b3361

Ответ 1

Будет ли это работать?

/products/product[contains(categorie,'Kinderwagens') or contains(categorie,'Wonderwagens')]

Существует аналогичный вопрос здесь

Ответ 2

Вы действительно хотите содержать()? Очень часто люди используют contains() для проверки того, содержит ли node значение, когда они должны использовать "=". Разница в том, что если элемент категории имеет строковое значение "Kinderwagens", то categorie = 'wagens' является ложным, но contains(categorie, 'wagens') является истинным.

Если вы действительно намеревались "=", то в XPath 2.0 вы можете написать [categorie = ('Kinderwagens', 'Wonderwagens')]. Если вы все еще используете XPath 1.0, вам нужны два отдельных сравнения с "или".