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

Getting the value of child node in xml using groovy

如何使用 groovy 解析下面 xml 中配置文件的值?

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

但这没有按预期工作。

它应该运行良好 - 如果更正语法 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() }