Как получить список значений XML

Как получать список значений из тега version? Я пишу груви скрипт и не могу понять как получать список версий причем от последнего к первому

def listOfVersion = uc.getInputStream().text
println listOfVersion.getElementByTagName("version")[1]
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
  <group>my.app</group>
  <artifact>server</artifact>
  <versioning>
    <latest>1.0.1</latest>
    <release>1.0.0</release>
    <versions>
      <version>1.0.2</version>
      <version>1.0.1</version>
      <version>1.0.0</version>
    </versions>
    <lastUpdated>2232323336</lastUpdated>
  </versioning>
</metadata>

Ответы (1 шт):

Автор решения: Vadik Sirekanyan

Чтобы работать с XML, нужен какой-нибудь XML-парсер.

Предположим, в корне проекта у вас есть XML-файл metadata.xml. Разобрать этот XML можно с помощью groovy.xml.XmlParser:

def metadata = new File("metadata.xml").text
def xml = new groovy.xml.XmlParser().parseText(metadata)
def versions = xml["versioning"]["versions"]["version"]

Распечатаем версии в обратном порядке:

versions.reverse().each { version ->
    println(version.text())
}

Результат:

1.0.0
1.0.1
1.0.2
→ Ссылка