2010-08-14 26 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