Groovy XmlSlurper访问根节点中的属性值

时间:2014-03-31 18:18:26

标签: xml groovy xml-parsing

我正在尝试使用Groovy和XmlSlurper完成访问作为根节点一部分的属性。我可以使用嵌套节点轻松完成此操作,但似乎无法访问根节点。

这是XML结构(简化):

<coverage lines-covered="2353" lines-valid="2943">
    <sources />
    <packages />
</coverage>

我希望能够获得行覆盖和行有效的属性值。这是我正在尝试的代码:

def cobertura = new XmlSlurper().parse(xml)
def coverage = cobertura.coverage
def lines = cobertura.find { it.@lines-covered }
println lines

我也试过了:

def cobertura = new XmlSlurper().parse("cobertura-coverage.xml")
def coverage = cobertura.coverage
println coverage.@lines-covered

def cobertura = new XmlSlurper().parse("cobertura-coverage.xml")
println cobertura.@lines-covered

1 个答案:

答案 0 :(得分:20)

您需要将lines-covered部分放在引号中,因为它包含短划线:

def cobertura = new XmlSlurper().parse("cobertura-coverage.xml")
println cobertura.@'lines-covered'
相关问题