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)
records.depthFirst().findAll { !it.childNodes() && it.car}
/*Otherwise this returns the values for parent nodes as well*/