我有以下.XML文件:

<testItems>
<children>
    <testItem name=TestSuite1>
        <children>
            <testItem name=test1>
            </testItem>
            <testItem name=test2>
            </testItem>
            <testItem name=test3>
            </testItem>
        </children>
    </testItem>
    <testItem name=TestSuite2>
        <children>
            <testItem name=test3>
            </testItem>
            <testItem name=test4>
            </testItem>
            <testItem name=test5>
            </testItem>
        </children>
    </testItem>
</children>




我想实现java / groovy递归算法,无论深度如何(在示例中,最大深度为2,但可以变化),该算法将访问每个节点

到目前为止,我有:

root.testItems.children.testItem.each{testItem ->
...rest of code...
}


它将访问TestSuite1和TestSuite2,但是我希望它递归地访问所有节点。

任何帮助深表感谢!

最佳答案

def root = new XmlParser().parseText(...)
root.depthFirst().each{e->
    //do something with each element
}

10-08 20:10