简体   繁体   English

将MarkupBuilder与Groovy一起使用…创建XML参数时出现问题

[英]Using MarkupBuilder with Groovy… problem creating XML parameters

I have the following Groovy code but it wont work: 我有以下Groovy代码,但无法正常工作:

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

I want it to result in: 我希望它导致:

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

What I am actually getting is this: 我实际上得到的是:

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

Can anyone provide some insight on this? 谁能对此提供一些见识?

You need to use mkp.yield to make it output the 8080 value to the xml, like so: 您需要使用mkp.yield使其将8080值输出到xml,如下所示:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM