jueves, 18 de diciembre de 2014

Extraer valores de un documento XML mediante Excel con la función XMLFILTRO

Imaginaros que tenéis un documento XML y queréis manejarlo en excel extrayéndo de vuestro XML piezas de información. Por ejemplo imaginad que tenemos el siguiente XML:

<?xml version='1.0' encoding="utf-8"?>
<libreria>
  <libro genero='Poesía' fechaPublicacion='1932'
           ISBN='1-861003-11-0'>
    <titulo>Poeta en Nueva York</titulo>
    <autor>
      <nombre>Federico</nombre>
      <apellidos>García Lorca</apellidos>
    </autor>
    <precio>8.99</precio>
  </libro>
  <libro genero='Novela' fechaPublicacion='1967'
           ISBN='0-201-63361-2'>
    <titulo>The Confidence Man</titulo>
    <autor>
      <nombre>Herman</nombre>
      <apellidos>Melville</apellidos>
    </autor>
    <precio>11.99</precio>
  </libro>
</libreria>

si queremos sacar los titulos y los precios de todos los libros podemos usar la función
XMLFILTRO(xml,xpath)
Deberíamos ir a dos casillas y emplear la función de la siguiente forma:

XMLFILTRO(A1; "//libro[1]/titulo")  
XMLFILTRO(A1; "//libro[2]/titulo")
XMLFILTRO(A1; "//libro[1]/precio")
XMLFILTRO(A1; "//libro[2]/precio")


Quedando como en la siguiente imagen:

No hay comentarios:

Publicar un comentario