问题
I have the following xml:
<vehicle>
<car>
<price>100</price>
<price>200</price>
</car>
<car>
<price>300</price>
<price>400</price>
</car>
</vehicle>
Given an xml, how can we get the innermost elements (in this case, all the<price>
elements)?
回答1:
Assuming you have the xml in a String xml
, you should be able to do:
List prices = new XmlSlurper().parseText( xml ).car.price*.text()
回答2:
thanks Tim for the answer. I just figured out the following works too. And is more generic:
def document = slurper.parseText(xml)
def prices = document.'**'.findAll { it.children().size() == 0 }
回答3:
May I suggest you next variant:
def vehicle = new XmlSlurper().parseText(xmlString)
vehicle.car.price.each {println "car's price:"+it}
来源:https://stackoverflow.com/questions/23632849/groovy-xmlslurper-find-innermost-element