如果我解析这个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的内容是不可触及的)
谢谢!
答案 0 :(得分:4)
你需要引用节点名,以便Groovy知道它不是减法:
result.'test-node'.each {node -> println node.'@info'}