如何使用groovy xml构建器来制作名称空间属性 [英] Howto make namespace attribute with groovy xml builder

查看:127
本文介绍了如何使用groovy xml构建器来制作名称空间属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用命名空间创建属性?要获得以下输出?

 < tns:catalogItem xsi:type =specialItem/> 

这就是我的做法:

  catalogItem(type:specialItem); 

但是这会生成没有名称空间的属性,所以它无效

 < tns:catalogItem type =tns:specialItem/> 

所以我正在寻找类似的东西(用ns初始化xsi):

  catalogItem(xsi.type:specialItem); 

预先感谢您

chrsk

解决方案

这个Groovy代码:

  def xml = new MarkupBuilder(writer)
xml.'rec:records'('xmlns:rec':'http://groovy.codehaus.org'){
car(name:' HSV Maloo':'Holden',year:2006){
country('Australia')
record(类型:'speed','速度为271kph的卡车')
}

导致这种XML:

 < rec:records xmlns:rec ='http://groovy.codehaus.org'> 
< car name ='HSV Maloo'make ='Holden'year ='2006'>
< country>澳大利亚< / country>
< record type ='speed'>速度为271kph的卡车< / car>
< / rec:记录>

更多这里


How can i create an attribute with a namespace? To get the following output?

<tns:catalogItem xsi:type="specialItem" />

This is how i do it yet:

catalogItem( type:"specialItem");

But this generates the attribute without namespace, so its invalid

<tns:catalogItem type="tns:specialItem" />

so i'm searching for something like this (with initialized xsi for ns):

catalogItem( xsi.type:"specialItem");

Thank you in advance

chrsk

解决方案

This Groovy code:

def xml = new MarkupBuilder(writer)
xml.'rec:records'('xmlns:rec': 'http://groovy.codehaus.org') {
  car(name:'HSV Maloo', make:'Holden', year:2006) {
    country('Australia')
    record(type:'speed', ' Truck with speed of 271kph')
  }
}

results in this XML:

<rec:records xmlns:rec='http://groovy.codehaus.org'>
  <car name='HSV Maloo' make='Holden' year='2006'>
    <country>Australia</country>
    <record type='speed'> Truck with speed of 271kph</record>
  </car>
</rec:records>

More here.

这篇关于如何使用groovy xml构建器来制作名称空间属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆