Hay una forma de filtrar más avanzada y es con operadores lógicos.
Operadores lógicos en Xpath: Cabe notar que los operadores se están usando dentro del predicado.
Ejemplo:
$x('//span[@class!="text"]') // todos los span que tenga una clase distinta de "text"
$x('/html/body/div/div[position()=1]') // trae los
elementos en la posición 1
$x('/html/body/div/div[position()>1]') // trae todos los elementos que se encuentran despues de la posicion 1
$x('//span[@class="text" and @class="tag-item"]') // trae los elementos que tengan como clase a "text" Y a
"tag-item"
$x('//span[@class="text" or @class="tag-item"]') // trae los elementos que tengan como clase a "text" O a
"tag-item"
$x('//span[not(@class)]') // trae todos los span que NO
tengan una clase