| No | Elementos | Sintaxis XPath |
|---|---|---|
| 1 | Nodo raíz | /nodo_raíz |
| 2 | Todos los elementos | * |
| 3 | Valor de los atributos | //etiqueta[@atributo=’valor del atributo’] |
| 4 | Múltiples atributos | //etiqueta[@atributo1=’valor1’][@atributo2=’valor2’] |
| 5 | Nombre de la etiqueta (camino relativo) | //etiqueta |
| 6 | Valor de los atributos que coinciden parcialmente | //etiqueta[starts-with(@atributo, 'valor_atributo')] //etiqueta[contains(@atributo, 'valor_atributo')] //etiqueta[contains(@atributo, 'valor_atributo')] //etiqueta[text()='texto'] |
| 7 | Eliminar espacios al comparar texto (función normalize-space()) | //etiqueta[normalize-space()='Texto limpio'] |
| 8 | Ancestros de un tipo determinado | ancestor::tipo |
| 9 | Hijos de un tipo determinado | child::tipo |
| 10 | Descendientes de un tipo determinado | descendant::tipo |
| 11 | Elementos de un tipo determinado, que se encuentran después de la etiqueta de cierre del elemento actual | following::tipo |
| 12 | Hermanos de un tipo determinado que se encuentran después del elemento actual | following-sibling::tipo |
| 13 | Elementos de un tipo determinado, que se encuentran antes del elemento actual | preceding::tipo |
| 14 | Hermanos de un tipo determinado que preceden al elemento actual | preceding-sibling::tipo |
| 15 | Operador OR | //etiqueta[@atributo1='valor1' or @atributo2='valor2'] |
| 16 | Operador AND | //etiqueta [@atributo1='valor1' and @atributo2='valor2'] |