2011-06-14 36 views
0

可以使用靜態類型的Groovy ++進行XML處理嗎?Groovy ++和XML

範例(用於測試你可以使用Groovy++ web console):

@Typed package test 
def CAR_RECORDS = ''' 
    <records> 
    <car name='HSV Maloo' make='Holden' year='2006'> 
     <country>Australia</country> 
     <record type='speed'>Production Pickup Truck with speed of 271kph</record> 
    </car> 
    </records> 
''' 

def records = new XmlSlurper().parseText(CAR_RECORDS) 
println records.car 
​ 

結果:

startup failed: 
Script1.groovy: 14: Cannot find property car of class GPathResult 
@ line 14, column 9. 
    records.car 
     ^

1 error 

回答

1

看起來不像它...你可以使用:

@Typed(TypePolicy.MIXED) 

然後

println records.car 

的作品,但你不能得到通過對屬性值:

println [email protected] 

當你然後得到錯誤:

Cannot find field name of class Object 

我猜XmlSlurping是目前常規有點過於動態++

+0

我無法使'@Typed(TypePolicy.MIXED)'工作(無法解析的符號),但是刪除'@Typed package test'解決了問題 – RonK 2011-06-14 10:43:11

+1

@ronk - 刪除用@ groov編譯的@Typed package test y而不是groovy ++ – amra 2011-06-14 10:50:25