dan*_*anb 11 xml grails groovy render pretty-print
鉴于此,在grails动作中:
def xml = {
rss(version: '2.0') {
...
}
}
render(contentType: 'application/rss+xml', xml)
Run Code Online (Sandbox Code Playgroud)
我看到了这个:
<rss><channel><title></title><description></description><link></link><item></item></channel></rss>
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法来打印XML?也许是渲染方法中内置的东西?
sea*_*and 19
这是一种使用Groovy代码精简打印XML的简单方法:
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()
Run Code Online (Sandbox Code Playgroud)
结果是:
<rss>
<channel>
<title/>
<description/>
<link/>
<item/>
</channel>
</rss>
Run Code Online (Sandbox Code Playgroud)
根据参考文档,您可以使用以下配置选项来启用漂亮的打印:
grails.converters.default.pretty.print (Boolean)
//Whether the default output of the Converters is pretty-printed ( default: false )
Run Code Online (Sandbox Code Playgroud)