2010-08-14 41 views
0

它是一個Grails應用程序,我們希望能夠爲爲REST客戶端生成的xml添加XML名稱空間。大多數xml使用深層轉換器使用「將foo渲染爲XML」輸出。如何使用Grails REST webservices輸出xml名稱空間

所以輸出需要是這樣的: <foo xmlns:myns='http://mycompany.com/myproduct/ver'> ... </foo>

回答

1

http://groovy.codehaus.org/Creating+XML+using+Groovy%27s+MarkupBuilder

def xml = new MarkupBuilder(writer) 
xml.'rec:records'('xmlns:rec': 'http://groovy.codehaus.org') { 
    car(name:'HSV Maloo', make:'Holden', year:2006) { 
    country('Australia') 
    record(type:'speed', ' Truck with speed of 271kph') 
    } 
} 

result 

<rec:records xmlns:rec='http://groovy.codehaus.org'> 
    <car name='HSV Maloo' make='Holden' year='2006'> 
    <country>Australia</country> 
    <record type='speed'> Truck with speed of 271kph</record> 
    </car> 
</rec:records> 
+0

感謝您的答覆,亞倫。我們使用「render foo as XML」構造,因此我們如何在這種情況下使用MarkupBuilder?在我們的案例中,進行手動序列化過程的工作太多了。 – Sunny 2010-08-15 06:16:21

+0

grails不支持通過標準轉換器,請參閱bug http://jira.codehaus.org/browse/GRAILS-5152 – 2010-08-15 14:08:28