Grails/Groovy - 将对象渲染/定向到XML以保存到文件

use*_*103 2 xml grails groovy

我熟悉使用"render myObject as grails.converters.XML"并将流/字符串保存到用户临时/会话文件夹的"temp"文件夹中的平面文件...我想成为能够获取一个对象并将其保存为编组的xml(与"将myObject as XML"编组的方式相同)将其保存为用户临时文件夹中的平面.xml文件.IOW,我想做一些类似"将myObject as grails.converters.XML渲染为平面.xml文件"的内容.有人能指出我如何做到这一点的正确方向?

lud*_*_rj 7

groovy.xml.MarkupBuilder如果您正在处理常规豆(POGO),您可以尝试.如果你需要操纵不同类型的对象,我建议使用XStream.

它是一个简单而快速的API,内存占用少.对编组非常有用.

例如,这是一个从2个bean(Person和Address)打印的XML文档:

def xstream = new XStream()
def joe = new Person(
             'Joe',
             'Biden',
              new Address(
                'White house',
                '222',
                'Whashington',
                'US'
              )
            )

def xmlDoc = xstream.toXML(joe)
Run Code Online (Sandbox Code Playgroud)

将呈现:

<Person>
  <name>Joe</name>
  <lastName>Biden</lastName>
  <Address>
    <street>Whitehouse</street>
    <postcode>222</postcode>
    <city>Washington</city>
    <country>US</country>
  </Address>
</Person>
Run Code Online (Sandbox Code Playgroud)

然后,只需使用a fileWriterxmlDoc保存到磁盘或其他..