XPATH

Introducción a XPATH para consultar información de documentos XML

XPath es un lenguaje definido por el consorcio W3C que sirve para consultar y extraer información de documentos XML.

XPath utiliza expresiones propias para buscar elementos y atributos dentro de archivos con estructura XML. Es muy útil para obtener colecciones de objetos sin tener que cargar el XML en una estructura propia de cada lenguaje de programación.

Archivo XML de ejemplo

A continuación se presenta un archivo XML de prueba:

<libros>
  <java>
    <titulo>Libro de JAVA</titulo>
    <precio>24€</precio>
  </java>
  <php>
    <titulo>Libro de PHP</titulo>
    <precio>19€</precio>
  </php>
</libros>

Expresiones XPATH

En las instrucciones XPATH se suelen usar la barra '/' para acceder a los distintos niveles, por ejemplo:

/libros/java/precio"

nos devuelve el nodo que contiene el precio del libro JAVA, mientras que:

/libros/php/titulo"

nos devuelve el nodo que contiene el título del libro de PHP.

Lógicamente, estas son las expresiones más sencillas. XPATH soporta incluso operaciones aritméticas y instrucciones más complejas para seleccionar nodos y datos segun otros muchos parámetros.

Entorno de pruebas

Normalmente cada lenguaje de programación tendrá sus propias librerías o plugins para manejar datos XML con XPATH. Sin embargo, para probarlo rápidamente, se puede utilizar la consola de Firebug.

Firebug es un complemento muy popular para el navegador web Firefox que puede descargarse en esta página: Firebug

Para realizar pruebas y ejecutar los ejemplos del punto anterior, basta con cargar el documento XML en el navegador, abrir y activar la consola de Firebug, escribir el método $x() y ejecutar las instrucciones XPATH que queramos:

$x("/libros/php/titulo")

Al ejecutar el código, por la consola aparecerá el texto "[titulo]", que al pulsar sobre el nos mostrará su contenido "Libro de PHP".