xml - 在 grails 中 pretty-print XML 响应的最佳方式

标签 xml grails groovy render pretty-print

在 grails 操作中给出:

def xml = {
    rss(version: '2.0') {
        ...
    }
}
render(contentType: 'application/rss+xml', xml)

我看到了这个:

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

有没有简单的方法来漂亮地打印 XML?也许是渲染方法内置的东西?

最佳答案

这是一种 pretty-print XML 的简单方法,仅使用 Groovy 代码:

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()

结果:

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

关于xml - 在 grails 中 pretty-print XML 响应的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231677/

相关文章:

java - 基于 Java 服务器的 Web 应用程序中的 HTTP 状态代码

grails - 为什么@GrailsCompileStatic允许调用动态GORM查找器而不允许domainClass.withTransaction()?

grails - Grails删除双向一对一关联

date - 命名查询以按Grails 3.2.10中的日期(年,月,日)显示结果

c# - XmlReader 和 MemoryStream,返回的 xml 缺少标签

java - 通过 XSTREAM 处理 XML 中不需要的元素

grails - Grails在返回值之前将其添加到函数的返回值中

android - 对于文件> 1mb,驱动器REST API返回400

java - 在 groovy 中定义带有类型的变量

c# - 如何在 C# 中动态创建 XML 架构?