使用groovy获取xml中的子节点的值

时间:2015-06-03 10:01:24

标签: xml groovy

如何使用groovy解析下面xml中Profile的值?

<Books>
        <Book>
                <Profile>Science</Profile>
                <Extension>.png</Extension>
                <Length>1920</Length>
                <Width>1080</Width>
        </Book>
        <Book>
                <Profile>English</Profile>
                <Extension>.png</Extension>
                <Length>640</Length>
                <Width>460</Width>
        </Book> 
</Books>

我试过了:

def bookxml = new XmlSlurper().parseText(bookText)
def profile = bookxml.Book.findAll { it.Profile } 

但是这没有按预期工作。

1 个答案:

答案 0 :(得分:0)

它应该可以正常运行 - 如果语法已更正parseText而不是parsexml,则会找到所有配置文件。

抓住样本:

def bookXml = '''<Books>
        <Book>
                <Profile>Science</Profile>
                <Extension>.png</Extension>
                <Length>1920</Length>
                <Width>1080</Width>
        </Book>
        <Book>
                <Profile>English</Profile>
                <Extension>.png</Extension>
                <Length>640</Length>
                <Width>460</Width>
        </Book> 
</Books>'''

def bookxml = new XmlSlurper().parseText(bookXml)
bookxml.Book.findAll { it.Profile }.each { println it.Profile.text() }