2011-12-23 54 views
17

Tengo el siguiente XPath para que coincida con los atributos de la span class:XPath comodín en valor del atributo

//span[@class='amount'] 

Quiero coincidir con todos los elementos que tienen el atributo de clase de "cantidad", pero también puede tener otras clases como bien. Pensé que podría hacer esto:

//span[@class='*amount*'] 

pero eso no funciona ... ¿cómo puedo hacer esto?

Respuesta

28

utilizar la siguiente expresión:

//span[contains(concat(' ', @class, ' '), ' amount ')] 

Usted podría utilizar contains por sí misma, pero que también podría coincidir con clases como someamount. Prueba de la expresión anterior en la siguiente entrada:

<root> 
    <span class="test amount blah"/> 
    <span class="amount test"/> 
    <span class="test amount"/> 
    <span class="amount"/> 
    <span class="someamount"/> 
</root> 

Se seleccionarán los primeros cuatro span elementos, pero no el último.

+0

Eso es exactamente lo que estoy buscando, muchas gracias. –

+0

Supongamos que quiero recuperar el contenido de texto dentro de la etiqueta span, entonces cuál será el código. He almacenado el resultado en la lista de nodos e intenté imprimir el contenido usando nodelist.item (0) .getFirstChild(). GetNodeValue(). Pero esto no devuelve nada. Por favor, ayúdame. – TheGaME

+0

¡Ha funcionado ...! Gracias –

Cuestiones relacionadas