2012-08-28 11 views
19

tengo XPath simplesXPath contiene uno de los múltiples valores

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

Funciona pero ahora ¿Cómo filtro en la categoría múltiples valores

como

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

Respuesta

28

¿Funcionará?

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

Hay una pregunta similar here

+0

La pregunta es sobre O, ¿no es así? –

+0

@imz editó mi respuesta para O, ver si esto funciona. Gracias. – Curious

+0

Nota para uno mismo. Actualice la respuesta con 5 años más de avance XPath. –

6

Está seguro de querer contiene()? Muy a menudo, las personas usan contains() para probar si un nodo contiene un valor cuando deberían estar usando "=". La diferencia es que si el elemento de la categoría tiene el valor de cadena 'Kinderwagens', entonces categorie = 'wagens' es falso, pero contains(categorie, 'wagens') es verdadero.

Si realmente pretendía '=', en XPath 2.0 puede escribir [categorie = ('Kinderwagens', 'Wonderwagens')]. Si todavía está utilizando XPath 1.0, necesita dos comparaciones separadas con un 'o'.

+0

Enviado [nueva pregunta] (https://stackoverflow.com/q/46503195/712334) para usar con valores de atributo. –

Cuestiones relacionadas