2011-02-03 103 views
1

嗨,我是新來的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

回答

5

它不編譯,因爲字段類型中的「 - 」是一個運算符,因此不能成爲名稱。另外,如果您訪問標籤字段類型,則必須使用如下所示的引號:

def fieldTypes = rootElement."field-type"