Localización
Consideremos el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<europa>
<pais>
<!-- Informacion sobre Alemania-->
<nombre>Alemania</nombre>
<habitantes unidad="millones">82.4</habitantes>
<capital>Berlín</capital>
<sigla-pais>DE</sigla-pais>
<prefijo>0049</prefijo>
</pais>
<pais>
<!-- Informacion sobre España-->
<nombre>España</nombre>
<habitantes unidad="millones">41.2</habitantes>
<capital>Madrid</capital>
<sigla-pais>ES</sigla-pais>
<prefijo>0034</prefijo>
</pais>
</europa>
A continuación, se muestran algunas rutas de localización básicas.
Localizar el nodo raíz
La ruta de localización del nodo raíz de un documento XML es la siguiente:
/
Localizar elementos
La localización de elementos permite seleccionar todos los hijos del nodo de contexto con el nombre especificado.
Para obtener todos los nodos <pais>
que contiene el nodo <europa>
, se utilizaría la siguiente expresión XPath:
/europa/pais
Para obtener todos los nodos <nombre>
que contienen los nodos <pais>
, se utilizaría la siguiente expresión XPath:
/europa/pais/nombre
Localizar descendientes
Para localizar descendiente, podemos utilizar dos barras diagonales:
//
Se trata de una forma abreviada de la siguiente expresión XPath:
/descendant-or-self::node()/
Por ejemplo, para localizar todos los descendientes <nombre>
de <europa>
, se utilizaría la siguiente expresión XPath:
/europa//nombre
Localizar atributos
Para hacer referencia a un atributo en XPath se emplea el símbolo @
seguido del nombre del atributo deseado.
Para obtener el atributo millones
que contiene el nodo <habitantes>
, se usaría la siguiente expresión:
/europa/pais/habitantes/@unidad
Localizar comentarios
Para hacer referencia a los comentarios que están dentro de un nodo se utiliza la función comment()
.
Para obtener los nodos comentarios que hay dentro del nodo <pais>
, se utilizaría la siguiente expresión XPath:
/europa/pais/comment()
Localizar nodos de texto
Para hacer referencia al texto que hay dentro de un nodo, se utiliza la función text()
.
Para obtener el texto que contiene el nodo <nombre>
usaríamos la siguiente expresión XPath:
/europa/pais/nombre/text()
Para obtener el texto que contiene el atributo millones
usaríamos la siguiente expresión XPath:
/europa/pais/habitantes/@unidad/text()
Localizar instrucciones de procesamiento
Para hacer referencia al nodo de instrucciones de procesamiento del elemento se usará la función processing-instruction()
.