miércoles, 28 de marzo de 2018

Ejemplo 2018-03: Parsear archivos XML.

Resumen: 
Manipular XML de forma sencilla con Groovy.

Descripción:
En una charla que di, me preguntaron sobre la forma de parsear XML. Quedó como tarea pendiente demostrar lo fácil que es. Este ejemplo nos acerca en la manera como podríamos emplearlo en nuestros proyectos.

En mi caso, por razones ajenas a mi voluntad, existe un programa que graba las peticiones en formato XML. Y luego llama a otro programa que leerá el archivo y generará la respuesta, en otro archivo (con formato XML). Durante las pruebas, hacer seguimiento a un transacción específica fue muy difícil. Debía buscar en ambos archivos (request y response) y ubicar los campos que debía evaluar.

Cómo solución, cree un script para procesar todas las peticiones de un día, generar un tabla (archivo con columnas) y poder visualizar la información necesaria.

Tenemos primero, el uso del operador "<<" para asignar elementos a una lista.


Considerar que existen dos opciones para parsear:
  • groovy.util.XmlParser
  • groovy.util.XmlSlurper
Hay diferencias sutiles, pero yo recomiendo XmlSlurper. De esta forma, acceder a un atributo lo podemos hacer con @.


Otro componente apreciado, es el operador "with".


Luego de formar el texto, agregamos la línea al archivo con el operador "<<".



Código Fuente:
https://gist.github.com/edgargs/ea58ee730ef5a48ff39271d6391e8360
 
Bibliografía: 
http://groovy-lang.org/processing-xml.html
  
Configuración:
Groovy  2.4