Groovy xml解析

bre*_*ish 1 java xml groovy

嗨,我是groovy的新手,我对groovy如何解析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>
Run Code Online (Sandbox Code Playgroud)

当我尝试

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
}
Run Code Online (Sandbox Code Playgroud)

我甚至没有编译:(field - types)是一个二进制表达式,但它应该是一行变量表达式:13列:20

Kai*_*nad 5

它不会编译,因为字段类型中的" - "是一个运算符,因此不能是名称的一部分.此外,如果您访问标记字段类型,则必须使用引号,如下所示:

def fieldTypes = rootElement."field-type"
Run Code Online (Sandbox Code Playgroud)