Groovy - XmlSlurper - найти самый внутренний элемент

У меня есть следующий XML:

<vehicle>
  <car>
    <price>100</price>
    <price>200</price>
  </car>
  <car>
    <price>300</price>
    <price>400</price>
  </car>
</vehicle>

Учитывая XML, как мы можем получить самые внутренние элементы (в этом случае все<price> элементы)?

3 ответа

Решение

Спасибо Тим за ответ. Я только что разобрался со следующими работами. И является более общим:

def document = slurper.parseText(xml)
def prices = document.'**'.findAll { it.children().size() == 0 }

Предполагая, что у вас есть XML в строке xml, вы должны быть в состоянии сделать:

List prices = new XmlSlurper().parseText( xml ).car.price*.text()​​

Могу ли я предложить вам следующий вариант:

def vehicle = new XmlSlurper().parseText(xmlString)
vehicle.car.price.each {println "car's price:"+it}
Другие вопросы по тегам