How I can find all elements in XML by their tag name in Groovy (GPath)?
I need to find all car
elements in this document:
This is how it works:
def xml = new XmlSlurper().parse(file)
def cars = xml.depthFirst().findAll { it.name() == 'car' }
assert cars.size() == 2
You can also do:
def xml = new XmlSlurper().parse(file)
def cars = xml.'**'.findAll { it.name() == 'car' }
Use an XMLSlurper
def records = new XmlSlurper().parseText(file)
records.depthFirst().findAll { !it.childNodes() && it.car}
/*Otherwise this returns the values for parent nodes as well*/