xmlparser traverse example xml groovy

traverse - xmlparser example



¿Cómo encontrar todos los elementos XML por nombre de etiqueta en Groovy? (3)

¿Cómo puedo encontrar todos los elementos en XML por su nombre de etiqueta en Groovy (GPath)?

Necesito encontrar todos car elementos del car en este documento:

<records> <first> <car> <id>378932</id> </car> </first> <second> <foo> <car> <name>audi</name> </car> </foo> </second> </records>

Esto es lo que intenté y fallé:

def xml = new XmlSlurper().parse(file) assert xml.car.size() == 2


Así es como funciona:

def xml = new XmlSlurper().parse(file) def cars = xml.depthFirst().findAll { it.name() == ''car'' } assert cars.size() == 2


También puedes hacer:

def xml = new XmlSlurper().parse(file) def cars = xml.''**''.findAll { it.name() == ''car'' }


Utilice un XMLSlurper

def records = new XmlSlurper().parseText(file) reco​rds.depthFirst()​.findAll { !it.childNodes() && it.car} ​ /*Otherwise this returns the values for parent nodes as well*/