像WHERE子句一样使用XmlSlurper进行选择

时间:2012-09-06 21:39:57

标签: groovy xmlslurper gpath

鉴于以下HTML代码段,我需要提取属性meta等于name的{​​{1}}代码的内容属性文本以及description代码属性meta等于property。我已经尝试了Groovy: Correct Syntax for XMLSlurper to find elements with a given attribute中显示的内容,但在Groovy 1.8.6中似乎没有相同的功能。

og:title

有没有一种干净的方法可以通过GPath检索这些?

1 个答案:

答案 0 :(得分:0)

这适用于groovy 2.0.1 - 我目前没有1.8.6方便:

def slurper = new XmlSlurper()
File xmlFile = new File('sample.xml')
def xml = slurper.parseText(xmlFile.text)
println 'description = ' + xml.head.children().find{it.name() == 'meta' && it.@name == 'description'}.@content
println 'og:title = ' + xml.head.children().find{it.name() == 'meta' && it.@property == 'og:title'}.@content