-->

Groovy的 - 的XmlSlurper - 发现最里面的元素(Groovy - XmlSlur

2019-10-20 03:38发布

我有以下XML:

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

给定一个XML,我们怎么能得到最里面的元素(在这种情况下,所有的<price>元素)?

Answer 1:

假设你有一个字符串中的XML xml ,你应该能够做到:

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


Answer 2:

感谢蒂姆的答案。 我只是想出了以下工作过。 而且是更通用的:

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


Answer 3:

我建议你下一个变种:

def vehicle = new XmlSlurper().parseText(xmlString)
vehicle.car.price.each {println "car's price:"+it}


文章来源: Groovy - XmlSlurper - find innermost element