Sintaxis XPath
- Página anterior Nodos XPath
- Página siguiente Eje XPath
XPath utiliza expresiones de ruta para seleccionar nodos o conjuntos de nodos en un documento 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="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Seleccione nodo
XPath utiliza expresiones de ruta para seleccionar nodos en un documento XML. Los nodos se seleccionan mediante el seguimiento de una ruta o pasos.
A continuación, se enumeran las expresiones de ruta 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 atributo. |
Ejemplo
En la siguiente tabla, hemos enumerado algunos expresiones de ruta y sus resultados:
Expresiones de ruta | Resultados |
---|---|
bookstore | Seleccione todos los nodos hijos del elemento 'bookstore'. |
/bookstore |
Seleccione el elemento raíz 'bookstore'. Nota: Si la ruta comienza con una barra invertida (\ /), esta ruta siempre representa una ruta absoluta a un elemento! |
bookstore/book | Seleccione todos los elementos 'book' que son subelementos del elemento 'bookstore'. |
//book | Seleccione todos los subelementos 'book', sin importar su ubicación en el documento. |
bookstore//book | Elija todos los elementos 'book' descendientes del elemento 'bookstore', sin importar su ubicación debajo de 'bookstore'. |
//@lang | Seleccione todas las propiedades con el nombre lang. |
Predicados (Predicados)
Los predicados se utilizan para encontrar un nodo específico o un nodo que contiene un valor específico.
Los predicados se encierran en corchetes.
Ejemplo
A continuación, en la tabla, se enumeran algunas expresiones de ruta con predicados y los resultados de estas expresiones:
Expresiones de ruta | Resultados |
---|---|
/bookstore/book[1] | Seleccione el primer elemento de tipo book que es hijo del elemento bookstore. |
/bookstore/book[last()] | Seleccione el último elemento de tipo book que es hijo del elemento bookstore. |
/bookstore/book[last()-1] | Seleccione el segundo elemento de tipo book que es hijo del elemento bookstore, contando desde el último. |
/bookstore/book[position()<3] | Seleccione los dos primeros elementos de tipo book que son 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 | Seleccione todos los elementos de title del elemento book dentro del elemento bookstore, y el valor del elemento price debe ser mayor a 35.00. |
Seleccione nodos desconocidos
Los símbolos de comodín de XPath se pueden usar para seleccionar elementos XML desconocidos.
Símbolos 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, en la tabla, se enumeran algunas expresiones de ruta y los resultados de estas expresiones:
Expresiones de ruta | Resultados |
---|---|
/bookstore/* | Seleccione todos los elementos hijos del elemento bookstore. |
//* | Seleccione todos los elementos del documento. |
//title[@*] | Seleccione todos los elementos de title que tengan atributos. |
Seleccione varias rutas
Al utilizar el operador "|" en la expresión de ruta, puede seleccionar varias rutas.
Ejemplo
A continuación, en la tabla, se enumeran algunas expresiones de ruta y los resultados de estas expresiones:
Expresiones de ruta | Resultados |
---|---|
//book/title | //book/price | Seleccione todos los elementos de title y price del elemento book. |
//title | //price | Seleccione todos los elementos title y price del documento. |
/bookstore/book/title | //price | Seleccione todos los elementos title que pertenecen a los elementos book del elemento bookstore, así como todos los elementos price del documento. |
- Página anterior Nodos XPath
- Página siguiente Eje XPath