如何在Groovy (GPath)中通过标记名找到XML中的所有元素?
我需要在这个文档中找到所有的car
元素:
<records>
<first>
<car>
<id>378932</id>
</car>
</first>
<second>
<foo>
<car>
<name>audi</name>
</car>
</foo>
</second>
</records>
这是我尝试过的,但失败了:
def xml = new XmlSlurper().parse(file)
assert xml.car.size() == 2
发布于 2011-07-18 09:54:19
它是这样工作的:
def xml = new XmlSlurper().parse(file)
def cars = xml.depthFirst().findAll { it.name() == 'car' }
assert cars.size() == 2
发布于 2011-07-18 15:52:28
您还可以执行以下操作:
def xml = new XmlSlurper().parse(file)
def cars = xml.'**'.findAll { it.name() == 'car' }
发布于 2011-07-18 04:34:07
def records = new XmlSlurper().parseText(file)
records.depthFirst().findAll { !it.childNodes() && it.car}
/*Otherwise this returns the values for parent nodes as well*/
https://stackoverflow.com/questions/6726592
复制相似问题