Groovy Parse XML

Я новичок в Groovy Может кто-нибудь помочь разобрать этот XML для получения списка значений каждого элемента Num

 NAMES>
    <NAMESet fetchSize="3">
    <String StringNumber="1">
        <NUM>1</NUM>
    </String>
    <String StringNumber="2">
        <NUM>2</NUM>
    </String>
    <String StringNumber="3">
        <NUM>3</NUM>
</NAMESet>

заранее спасибо!

2 ответа

Решение

Наконец, написал так:

def records = new XmlParser().parseText(xml)
def size = records.ResultSet.Row.ID.size()
println(size)
def allRecords = records.ResultSet.Row.ID[1].text()
println(allRecords)
for (int i = 0; i < size; i++) {
println(records.ResultSet.Row.ID[i].text())
}

в любом случае, спасибо

XML довольно сломан, но Cyberneko может решить эту проблему. Тем не менее, он создает некоторую HTML-структуру:

xml=''' NAMES>
    <NAMESet fetchSize="3">
    <String StringNumber="1">
        <NUM>1</NUM>
    </String>
    <String StringNumber="2">
        <NUM>2</NUM>
    </String>
    <String StringNumber="3">
        <NUM>3</NUM>
</NAMESet>'''


names = new XmlSlurper( new org.cyberneko.html.parsers.SAXParser() ).parseText xml

assert names.BODY.NAMESET.STRING.NUM.collect { it.text() } == 
    ['1', '2', '3']
Другие вопросы по тегам