使用groovy生成格式良好的xml的问题

时间:2009-09-23 19:07:42

标签: xml groovy

我有一个生成xml的简单groovy脚本

def builder = new groovy.xml.StreamingMarkupBuilder()
def person1 = {
person(id:99){
firstname("John" )
lastname("Smith" )
}
}
def person2 = {
person(id:100){
firstname("Jane" )
lastname("Doe" )
}
}
def personList = {
"person-list" {
out << person1
out << person2
}
}
println builder.bind(personList)

然而,当打印这个xml时......它会在一行中打印所有内容。所以输出是:

<person-list><person id='99'>test</person><person id='100'><firstname>Jane</firstname><lastname>Doe</lastname></person></person-list>

有没有办法以格式良好的方式打印出来,如下所示?

<person-list>
      <person id='99' >
         <firstname>John</firstname>
         <lastname>Smith</lastname>
      </person>
      <person id='100' >
         <firstname>Jane</firstname>
         <lastname>Doe</lastname>
      </person>
</person-list>

2 个答案:

答案 0 :(得分:1)

尝试

println XmlUtil.serialize 

功能

这是Groovy doc

答案 1 :(得分:0)

请参阅Best way to pretty print XML response in grails获取全Groovy答案。