我有xml,并且必须对其进行转换。如何正确制作。 如何使用Groovy解析和分组xml。还是请给我建议。
<getDataResponse>
<dataItem>
<osVer>1.1</osVer>
<mobileVer>iPad7</mobileVer>
<email>mail</email>
<id>1</id>
</dataItem>
<dataItem>
<osVer>1.18</osVer>
<mobileVer>iPhone5</mobileVer>
<email>mail</email>
<id>1</id>
</dataItem>
</getDataResponse>
我编写以下代码来收集我的数据:
def res = []
for(item in dataResponse.children()){
res << item.findAll{
it.name().equals('osVer') ||
it.name().equals('mobileVer')
}.inject([:]){
map, ch -> map + [(ch.name()) : ch.text()]
}
}
res.join()
我想得到这个输出:
<getDataResponse>
<dataItem>
<info>[osVer:1.1, mobileVer: iPad7]
[osVer:1.8, mobileVer: iPhone5]</info>
<email>mail</email>
<id>1</id>
</dataItem>
</getDataResponse>