Si has visto alguno de nuestros últimos ejemplos sobre Groovy habrás visto que hemos generado un documento XML y hemos creado un fichero de texto. Ahora vamos a ver cómo mezclando estos dos códigos podemos generar un fichero en XML con Groovy. Lo primero será definir un StringWriter que será la cadena que contenga nuestro XML.
def sw = new StringWriter()
Ahora, ayudados del MarkupBuilderconstruimos el documento XML.
def xml = new groovy.xml.MarkupBuilder(sw)
xml.libros{
libro(autor:"Cervantes","El Quijote")
libro(autor:"Homero","La Iliada")
libro(autor:"Camilo Jose Cela","Viaje a la Alcarria")
}
Vemos que al MarkupBuilder le hemos pasado el StringWriter, que será dónde se quede almacenado el documento XML. Ahora creamos una referencia al fichero XML. dónde vamos a volcar el contenido. Para ello utilizamos la clase File.
def f = new File("libros.xml")
Ya solonos quedará volcar el contenido sobre el fichero. En este caso nos apoyamos en el método write.
f.write(sw.toString())
El contenido del StringWriter lo conseguimos convirtiéndolo a String mediante el método .toString(). De esta forma ya tenemos generado nuestro fichero XML mediante Groovy.