获取Groovy中XML节点的所有子节点的值

时间:2014-04-28 11:02:29

标签: xml groovy

我有一个XML文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<groups>
    <group no="1">
        <entry>10</entry>
        <entry>11</entry>
        <entry>12</entry>
    </group>
    <group no="2">
        <entry>30</entry>
        <entry>31</entry>
        <entry>32</entry>
    </group>
</groups>

我需要将所有条目作为来自给定组的数组。

目前我有以下内容为我提供了所有节点,但我只需要值:

def group = "1"                                     
def groups = new XmlParser().parseText(new File(/groups.xml/).text);                                    
def groupEntries = groups.group.find {it.attribute('no') == group}.entry
println groupEntries 

打印:

[entry[attributes={}; value=[10]], entry[attributes={}; value=[11]], entry[attributes={}; value=[12]]]

1 个答案:

答案 0 :(得分:3)

这应该会给你所需的结果:

List<String> groupEntries = groups.group.find { it.@no == group }.entry*.text()