我有以下.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
}