Saltar al contenido principal

XPath

XPath es un estándar (diferente de XML) aprobado por el W3C, que permite navegar entre los elementos y atributos de un documento XML. Para hacerlo, se basa en las relaciones de parentesco entre los nodos del documento.

Inicialmente se creó para ser utilizado con XLST, pero en la actualidad se utiliza también con las siguientes tecnologías (entre otras):

Versiones

Existen un total de cuatro versiones del estándar de XPath:

Versión del estándarAño de publicación
XPath 1.01999
XPath 2.02010
XPath 3.02014
XPath 3.12017

Expresiones de camino

XPath se usa definiendo expresiones de camino (paths) para seleccionar nodos o conjuntos de nodos en un documento XML.

Esas expresiones se parecen mucho a las expresiones que se suelen usar para indicar rutas en los sistemas de ficheros.

Estas expresiones se aplican a un documento XML, asumiendo que su estructura interna es la de un árbol. Al aplicar una expresión, se obtiene un conjunto de nodos (que puede ser vacío).

Consideremos el siguiente documento XML:

<?xml version="1.0" encoding="UTF-8"?>
<matriculas>
<alumno>
<nombre>Pedro</nombre>
<apellidos>
<apellido>López</apellido>
<apellido>Ortega</apellido>
</apellidos>
<dni pais="es">11112222A</dni>
</alumno>
<alumno>
<nombre>Ana</nombre>
<apellidos>
<apellido>García</apellido>
<apellido>Martínez</apellido>
</apellidos>
<dni>33334444B</dni>
</alumno>
</matriculas>

Una expresión de camino podría ser la siguiente:

/matriculas/alumno/nombre

Al evaluar la expresión anterior, obtendríamos como resultado los siguientes elementos:

<nombre>Pedro</nombre>
<nombre>Ana</nombre>

Consideremos, ahora, la siguiente expresión:

/matriculas/alumno/dni[@pais]

En este caso, tras su evaluación, obtendríamos como resultado el siguiente elemento:

<dni pais="es">11112222A</dni>