在groovy中解析XML文件,节点名称中带有“ - ”

时间:2011-08-08 11:43:40

标签: xml groovy

如果我解析这个xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<rootnode>
  <testnode info="Test1"/>
  <testnode info="Test2"/>
</rootnode>

使用这些groovy代码都可以正常工作:

def parser = new XmlParser()
def result = parser.parse(new File('test.xml').getCanonicalPath())
result.testnode.each {node -> println node.'@info'}

但是如果节点名称从“testnode”变为“test-node”

我收到以下消息:

Exception in thread "main" groovy.lang.MissingPropertyException: No such property: node for class:..

我如何解决这个问题(xml的内容是不可触及的)

谢谢!

1 个答案:

答案 0 :(得分:4)

你需要引用节点名,以便Groovy知道它不是减法:

result.'test-node'.each {node -> println node.'@info'}