无法使用 XMLSlurper 按标签名称查找内容

Unable to find content by tag name using XMLSlurper

我正在尝试使用 XMLSlurper 在 XML 文件中进行搜索,并且在阅读了一些过去的问题后认为这是这样做的方法,但是它不起作用。

这是xml内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="Permissions_DontShowAgain">Do not show again</string>
    <string name="Version">1.32.3</string>
    <string name="RetryNow">Retry Now</string>
    ...

这是代码:

def result = new XmlSlurper().parse(file)
assert result instanceof groovy.util.slurpersupport.GPathResult
def version = result.depthFirst().findAll { it.name() == 'Version' }
println version

如果我在 slurping 之后执行 println,我可以确认文件已找到并且结果变量包含其内容。但是如果我打印出它的版本 []。 我想获取1.32.3的值。

您需要属性名称,而不是标签名称

result.depthFirst().findAll { it.@name.text() == 'Version' }