Ejercicio 505
Consideremos el siguiente documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<listado>
<cuenta>
<titular dni="5671001D">Ramon Perez</titular>
<saldoactual moneda="euros">12000</saldoactual>
<fechacreacion>13-abril-2012</fechacreacion>
</cuenta>
<fondo>
<cuentaasociada>20-A</cuentaasociada>
<datos>
<cantidaddepositada>20000</cantidaddepositada>
<moneda>Euros</moneda>
</datos>
</fondo>
<fondo>
<cuentaasociada>21-DX</cuentaasociada>
<datos>
<cantidaddepositada>4800</cantidaddepositada>
<moneda>Dólares</moneda>
</datos>
</fondo>
<cuenta>
<titular dni="39812341C">Carmen Diaz</titular>
<saldoactual moneda="euros">1900</saldoactual>
<fechacreacion>15-febrero-2011</fechacreacion>
</cuenta>
</listado>
Construye las expresiones XPath que permitan obtener los siguientes datos:
- Extraer la cantidad depositada en el fondo con cuenta asociada
20-A
. - Extraer un listado sin etiquetas de todas las monedas usadas por los distintos fondos.
- Extraer el DNI de las cuentas que usen
dólares
como moneda de base. - Extraer toda la información de los fondos que usen
Euros
por un valor inferior a2500
.
Solución
- Extraer la cantidad depositada en la cuenta
20-A
.
/listado/fondo[cuentaasociada = "20-A"]/datos/cantidaddepositada/text()
- Extraer un listado sin etiquetas de todas las monedas usadas por los distintos fondos.
/listado/fondo/datos/moneda/text()
- Extraer el DNI de las cuentas que usen dolares como moneda de base.
/listado/cuenta[saldoactual/@moneda = "dólares"]/titular/@dni/string()
- Extraer toda la información de los fondos que usen
euros
por un valor inferior a2500
.
/listado/fondo[datos/cantidaddepositada<2500 and datos/moneda = "Euros"]