XPath usa expresiones de ruta para seleccionar nodos o conjuntos de nodos en documentos XML. Los nodos se seleccionan siguiendo rutas o pasos.
Documento de ejemplo XML
Utilizaremos este documento XML en el siguiente ejemplo.
<? xml version = "1.0" encoding = "ISO-8859-1"?> <bookstore> <book> <title lang = "eng"> Harry Potter </title> <price> 29.99 </price> </ book > <book> <title lang = "eng"> Aprendizaje XML </title> <price> 39.95 </price> </book> </bookstore>
Seleccionar nodo
XPath usa expresiones de ruta para seleccionar nodos en documentos XML. Los nodos se seleccionan siguiendo una ruta o paso.
Las expresiones de ruta más útiles se enumeran a continuación:
Expresión | Descripción |
---|---|
nombre del nodo | Seleccione todos los nodos secundarios de este nodo. |
/ / | Seleccione desde el nodo raíz. |
// | Seleccione los nodos en el documento del nodo actual que coincida con la selección, independientemente de su ubicación. |
. | Seleccione el nodo actual. |
.. | Seleccione el nodo principal del nodo actual. |
@ @ | Seleccionar atributos. |
Ejemplos
En la siguiente tabla, hemos enumerado algunas expresiones de ruta y los resultados de las expresiones:
Expresión de ruta | El resultado |
---|---|
librería | Seleccione todos los nodos secundarios del elemento de la librería. |
/librería | Seleccione la librería de elementos raíz. Nota: Si la ruta comienza con una barra diagonal (/), ¡esta ruta siempre representa la ruta absoluta a un elemento! |
librería / libro | Seleccione todos los elementos del libro que son elementos secundarios de la librería. |
//libro | Seleccione todos los elementos secundarios del libro independientemente de su posición en el documento. |
librería // libro | Seleccione todos los elementos del libro que sean descendientes del elemento de la librería, independientemente de dónde se encuentren debajo de la librería. |
// @ lang | Seleccione todos los atributos llamados lang. |
Predicados
El predicado se usa para encontrar un nodo específico o un nodo que contiene un valor específico.
El predicado está incrustado entre corchetes.
Ejemplos
En la siguiente tabla, enumeramos algunas expresiones de ruta con predicados y los resultados de las expresiones:
Expresión de ruta | El resultado |
---|---|
/ librería / libro [1] | Seleccione el primer elemento del libro que sea un elemento secundario de la librería. |
/ librería / libro [último ()] | Seleccione el último elemento del libro que es un elemento secundario de la librería. |
/ librería / libro [último () - 1] | Seleccione el penúltimo elemento del libro que es un elemento secundario de la librería. |
/ librería / libro [posición () <3] | Seleccione los dos primeros elementos del libro que son elementos secundarios del elemento de la librería. |
// título [@lang] | Seleccione todos los elementos de título que tengan un atributo llamado lang. |
// título [@ lang = 'eng'] | Seleccione todos los elementos de título, y estos elementos tienen un atributo lang con un valor de eng. |
/bookstore/book[price>35.00] | Seleccione todos los elementos de libro del elemento de librería, y el valor del elemento de precio debe ser mayor que 35.00. |
/bookstore/book[price>35.00font>/title | Seleccione todos los elementos de título del elemento de libro en el elemento de librería, y el valor del elemento de precio debe ser mayor que 35.00. |
Seleccionar nodo desconocido
Los comodines XPath se pueden usar para seleccionar elementos XML desconocidos.
Comodín | Descripción |
---|---|
* * | Coincide con cualquier nodo de elemento. |
@ * | Coincide con cualquier nodo de atributo. |
nodo() | Coincide con cualquier tipo de nodo. |
Ejemplos
En la siguiente tabla, enumeramos algunas expresiones de ruta y los resultados de estas expresiones:
Expresión de ruta | El resultado |
---|---|
/librería/* | Seleccione todos los elementos secundarios del elemento de la librería. |
// * | Seleccione todos los elementos en el documento. |
//título[@*] | Seleccione todos los elementos de título con atributos. |
Seleccione varios caminos
Puede elegir varias rutas utilizando el operador "|" en la expresión de ruta.
Ejemplos
En la siguiente tabla, enumeramos algunas expresiones de ruta y los resultados de estas expresiones:
Expresión de ruta | El resultado |
---|---|
// libro / título | // libro / precio | Seleccione todos los elementos de título y precio del elemento del libro. |
// título | //precio | Seleccione todos los elementos de título y precio en el documento. |
/ librería / libro / título | //precio | Seleccione todos los elementos de título que pertenecen al elemento de libro del elemento de librería y todos los elementos de precio en el documento. |