要在Groovy中映射的XML元素。使用XMLSluper

时间:2013-12-01 20:30:43

标签: xml parsing groovy

我想在Groovy Map中转换我的xml元素配置,在其中将所有conf元素放在表单中 Map<String, Map<String,String>>其中String是conf-s元素的名称,而在Map中,还有当前conf元素ex的另一个属性。

map[0] = {one,[visivility:public,description:Configuration one.]

<?xml version="1.0" encoding="UTF-8"?>
<bla-module version="2.0" >
    <configurations>
            <conf name="one" visibility="public" description="Configuration one."/>
            <conf name="two" visibility="private" description="Configuration two."/>
    </configurations>
</bla-module>

尝试使用groovy语法和XMLSluper的最快方法是什么。 PS conf-s元素中的属性数量未知

1 个答案:

答案 0 :(得分:6)

你可以尝试(我不是在电脑上验证):

new XmlSlurper().parseText( xml )
                .configurations
                .conf
                .collectEntries { c->
                    [ c.@name, c.attributes() ]
                }