Sintaxis de XPath
- Página anterior Nodos de XPath
- Página siguiente Axe de XPath
XPath utiliza expresiones de ruta para seleccionar nodos o conjuntos de nodos en documentos XML. Los nodos se seleccionan mediante el seguimiento de una ruta (ruta) o pasos (pasos).
Documento de ejemplo XML
Usaremos este documento XML en los ejemplos siguientes.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="esp">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="esp">Aprender XML</title> <price>39.95</price> </book> </bookstore>
Selección de nodos
XPath utiliza expresiones de ruta para seleccionar nodos en documentos XML. Los nodos se seleccionan mediante el seguimiento de una ruta o pasos.
A continuación, se enumeran las expresiones de rutas más útiles:
Expresión | Descripción |
---|---|
nodename | Seleccione todos los subnodos de este nodo. |
/ | Desde el nodo raíz. |
// | Desde el nodo seleccionado, seleccione nodos en el documento sin considerar su ubicación. |
. | Seleccione el nodo actual. |
.. | Seleccione el nodo padre del nodo actual. |
@ | Seleccione propiedades. |
Ejemplo
A continuación, en la tabla, se enumeran algunas expresiones de rutas y sus resultados:
Expresión de ruta | Resultados |
---|---|
bookstore | Seleccione todos los nodos que sean subnodos del elemento bookstore. |
/bookstore |
Seleccione el elemento raíz bookstore. Nota: Si la ruta comienza con una barra (/), esta ruta siempre representa una ruta absoluta a un elemento! |
bookstore/book | Seleccione todos los elementos de book que sean subelementos del elemento bookstore. |
//book | Seleccione todos los elementos de book que sean subelementos, sin importar su ubicación en el documento. |
bookstore//book | Seleccione todos los elementos de book que sean descendientes del elemento bookstore, sin importar su ubicación en el bookstore. |
//@lang | Seleccione todas las propiedades que tengan el nombre lang. |
Predicados (Predicados)
El predicado se utiliza para encontrar un nodo específico o un nodo que contiene un valor específico.
El predicado se encuentra entre corchetes.
Ejemplo
A continuación, en la tabla, se enumeran algunas expresiones de rutas con predicados y sus resultados:
Expresión de ruta | Resultados |
---|---|
/bookstore/book[1] | Seleccione el primer elemento de book que sea hijo del elemento bookstore. |
/bookstore/book[last()] | Seleccione el último elemento de book que sea hijo del elemento bookstore. |
/bookstore/book[last()-1] | Seleccione el segundo elemento de book que sea hijo del elemento bookstore, contando desde el final. |
/bookstore/book[position()<3] | Seleccione los dos primeros elementos de book que sean hijos del elemento bookstore. |
//title[@lang] | Seleccione todos los elementos de title que tengan el atributo lang. |
//title[@lang='eng'] | Seleccione todos los elementos de title que tengan el atributo lang con el valor eng. |
/bookstore/book[price>35.00] | Seleccione todos los elementos de book dentro del elemento bookstore, y el valor del elemento price debe ser mayor a 35.00. |
/bookstore/book[price>35.00]/title | Elegir todos los elementos title de los elementos book dentro del elemento bookstore, y el valor del elemento price debe ser mayor que 35.00. |
Elegir nodos desconocidos
Los símbolos de comodín de XPath se pueden usar para elegir elementos XML desconocidos.
Símbolo de comodín | Descripción |
---|---|
* | Coincidir con cualquier nodo de elemento. |
@* | Coincidir con cualquier nodo de atributo. |
node() | Coincidir con cualquier tipo de nodo. |
Ejemplo
A continuación, se listan algunas expresiones de ruta y los resultados de estas expresiones en la siguiente tabla:
Expresión de ruta | Resultados |
---|---|
/bookstore/* | Elegir todos los subelementos del elemento bookstore. |
//* | Elegir todos los elementos del documento. |
//title[@*] | Elegir todos los elementos title que tienen atributos. |
Elegir varias rutas
Al usar el operador "|" en la expresión de ruta, puede elegir varias rutas.
Ejemplo
A continuación, se listan algunas expresiones de ruta y los resultados de estas expresiones en la siguiente tabla:
Expresión de ruta | Resultados |
---|---|
//book/title | //book/price | Elegir todos los elementos title y price de los elementos book. |
//title | //price | Elegir todos los elementos title y price del documento. |
/bookstore/book/title | //price | Elegir todos los elementos title que pertenecen a los elementos book del elemento bookstore, y todos los elementos price del documento. |
- Página anterior Nodos de XPath
- Página siguiente Axe de XPath