Groovy解析xml

时间:2014-10-13 14:11:27

标签: xml parsing groovy parsexml

我是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 个答案:

答案 0 :(得分:0)

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']

答案 1 :(得分:0)

最后,写得像这样:

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())
}

无论如何,谢谢