Xml Grails渲染列表

Xml Grails渲染列表,xml,json,grails,Xml,Json,Grails,我有这样一份清单: def bookList = Book.list() 并希望将其呈现为XML/JSON,最好使用以下方法: render Book.list() as XML 但是,我只想呈现该列表中的特定字段,比如:field1、field2、field3。其他无用的东西将不会显示。如果您想要对XML输出进行密切控制,那么应该使用Grails的XMLBUilder,而不是XML。下面的示例演示了如何使用JSONBuilder呈现对象,不包括类、元类等属性 要仅进行修改,此示例需要生成

我有这样一份清单:

 def bookList = Book.list()
并希望将其呈现为XML/JSON,最好使用以下方法:

render Book.list() as XML

但是,我只想呈现该列表中的特定字段,比如:field1、field2、field3。其他无用的东西将不会显示。

如果您想要对XML输出进行密切控制,那么应该使用Grails的XMLBUilder,而不是XML。下面的示例演示了如何使用JSONBuilder呈现对象,不包括类、元类等属性


要仅进行修改,此示例需要生成XML而不是JSON,只需实例化一个XMLBuilder而不是JSONBuilder。

如果您希望密切控制XML输出,则应使用Grails的XMLBuilder而不是XML。下面的示例演示了如何使用JSONBuilder呈现对象,不包括类、元类等属性


仅修改此示例需要生成XML而不是JSON,即实例化XMLBuilder而不是JSONBuilder。

如果您的案例足够简单,您可以只收集您需要的内容,例如:

def output = Book.list().collect { [
    field1: it.field1,
    field2: it.field2,
    field3: it.field3
] }

render output as XML

使用Don的答案中的生成器也是一个很好的解决方案。

如果您的案例足够简单,您可以收集您需要的内容,例如:

def output = Book.list().collect { [
    field1: it.field1,
    field2: it.field2,
    field3: it.field3
] }

render output as XML
使用Don's answer中的构建器也是一个很好的解决方案