Best way to pretty print XML response in grails Best way to pretty print XML response in grails xml xml

Best way to pretty print XML response in grails


This is a simple way to pretty-print XML, using Groovy code only:

def xml = "<rss><channel><title></title><description>" +   "</description><link></link><item></item></channel></rss>"def stringWriter = new StringWriter()def node = new XmlParser().parseText(xml);new XmlNodePrinter(new PrintWriter(stringWriter)).print(node)println stringWriter.toString()

results in:

<rss>  <channel>    <title/>    <description/>    <link/>    <item/>  </channel></rss>


According to the reference docs, you can use the following configuration option to enable pretty printing:

 grails.converters.default.pretty.print (Boolean) //Whether the default output of the Converters is pretty-printed ( default: false )


Use MarkupBuilder to pretty-print your Groovy xml

def writer = new StringWriter()def xml = new MarkupBuilder (writer)xml.rss(version: '2.0') {        ...    }}render(contentType: 'application/rss+xml', writer.toString())