将MarkupBuilder与Groovy一起使用...创建XML参数的问题

时间:2011-06-15 19:04:35

标签: java xml groovy

我有以下Groovy代码,但它无法运行:

xml = new groovy.xml.MarkupBuilder() 
xmldata = xml.Plugins(nextid: '10') {
   Target(name: 'default.auth') {
     Port(protocol: 'https') {
       8080
     }
   }
}
println xmldata

我希望它导致:

<Plugins nextid='10'>
  <Target name='default.auth'>
    <Port protocol='https'>8080</Port>
  </Target>
</Plugins>

我实际得到的是:

<Plugins nextid='10'>
  <Target name='default.auth'>
    <Port protocol='https' />
  </Target>
</Plugins>

任何人都可以对此提供一些见解吗?

1 个答案:

答案 0 :(得分:1)

您需要使用mkp.yield8080值输出到xml,如下所示:

xml = new groovy.xml.MarkupBuilder() 
xmldata = xml.Plugins(nextid: '10') {
   Target(name: 'default.auth') {
     Port(protocol: 'https') {
       mkp.yield 8080
     }
   }
}