Groovy的XML解析

问题描述:

嗨,我是新来的Groovy和我有解析如何常规XMLGroovy的XML解析

<schema-definition name="Standard" > 
    <field-type name="Standard:Integer" descr="A whole number." base-type="long"/> 
    <field-type name="Standard:Boolean" descr="A boolean value." base-type="boolean"/> 
    <field-type name="Standard:String" descr="A string" base-type="string"/> 
</schema-definition> 

当我尝试

document = groovy.xml.DOMBuilder.parse(new FileReader('D:/test.xml')) 
rootElement = document.documentElement 
use(groovy.xml.dom.DOMCategory) 
{ 
    field-types=rootElement.field-type 
    println field-types 
} 

我竟然不编一个误区: (场 - 类型)是一个二进制表达式,但它应该是一个变量表达式:13列:20

+0

这看起来像是一种笨拙的方式。为什么不给XMLSlurper一个去。它更加Groovy! – sbglasius 2011-02-03 13:59:00

它不编译,因为字段类型中的“ - ”是一个运算符,因此不能成为名称。另外,如果您访问标签字段类型,则必须使用如下所示的引号:

def fieldTypes = rootElement."field-type"