Axes (ejes) XPath
- Página anterior Sintaxis XPath
- Página siguiente Operadores XPath
Documento de ejemplo XML
Usaremos este documento XML en los siguientes ejemplos:
<?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>
Eje de XPath
El eje puede definir un conjunto de nodos en relación con el nodo actual.
Nombre del eje | Resultados |
---|---|
ancestor | Elegir todos los antepasados del nodo actual (padre, abuelo, etc.). |
ancestor-or-self | Elegir todos los antepasados del nodo actual (padre, abuelo, etc.) y el nodo actual en sí mismo. |
attribute | Seleccione todas las propiedades del nodo actual |
child | Seleccione todos los elementos hijos del nodo actual |
descendant | Elegir todos los elementos descendientes del nodo actual (hijos, nietos, etc.). |
descendant-or-self | Elegir todos los elementos descendientes del nodo actual (hijos, nietos, etc.) y el nodo actual en sí mismo. |
following | Elegir todos los nodos después de la etiqueta de finalización del nodo actual en el documento. |
namespace | Elegir todos los nodos de espacio de nombres del nodo actual. |
parent | Elegir el nodo padre del nodo actual. |
preceding | Elegir todos los nodos antes de la etiqueta de inicio del nodo actual en el documento. |
preceding-sibling | Elegir todos los nodos同级节点之前的当前节点。 |
self | Elegir el nodo actual. |
Expresión de la ruta de posición
La ruta de posición puede ser absoluta o relativa.
La ruta absoluta comienza con una barra inclinada ( / ), mientras que la ruta relativa no es así. En ambos casos, la ruta de posición incluye uno o más pasos, cada uno separado por una barra:
Ruta de posición absoluta:
/step/step/...
Ruta de posición relativa:
step/step/...
Cada paso se calcula basándose en los nodos dentro del conjunto de nodos actual
Paso (step) incluye:
- Eje (axis)
- Definir la relación de árbol entre el nodo seleccionado y el nodo actual
- Prueba de nodo (node-test)
- Identificar nodos dentro de un eje específico
- Cero o más predicados (predicado)
- Refinar más profundamente el conjunto de nodos seleccionados
Sintaxis del paso:
Nombre de eje::prueba de nodo [predicado]
Ejemplo
Ejemplos | Resultados |
---|---|
child::book | Seleccione todos los nodos book que pertenecen a los elementos hijos del nodo actual |
attribute::lang | Seleccione la propiedad lang del nodo actual |
child::* | Seleccione todos los elementos hijos del nodo actual |
attribute::* | Seleccione todas las propiedades del nodo actual |
child::text() | Seleccione todos los nodos hijos de texto del nodo actual |
child::node() | Seleccione todos los nodos hijos del nodo actual |
descendant::book | Seleccione todos los descendientes book del nodo actual |
ancestor::book | Seleccione todos los antepasados book del nodo actual |
ancestor-or-self::book | Seleccione todos los antepasados book del nodo actual y el nodo actual (si este nodo es un nodo book) |
child::*/child::price | Seleccione todos los nodos hijos price del nodo actual. |
- Página anterior Sintaxis XPath
- Página siguiente Operadores XPath