无法使用 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' }
我正在尝试使用 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' }