我需要将对象作为 xml 发送到网络服务。我已经有了 pojo,现在我需要使用 Groovy 将它转换为 xml。在 grails 中我使用了 as 关键字,在 Groovy 中执行此操作的等效代码是什么?

示例 Grails 代码:

import grails.converters.* 
render Airport.findByIata(params.iata) as XML 

请您参考如下方法:

使用 StreamingMarkupBuilder 执行此操作的一个简单示例是:

class Airport { 
  String name 
  String code 
  int id 
} 
 
Writable pogoToXml( object ) { 
  new groovy.xml.StreamingMarkupBuilder().bind { 
    "${object.getClass().name}" { 
      object.getClass().declaredFields.grep { !it.synthetic }.name.each { n -> 
        "$n"( object."$n" ) 
      } 
    } 
  } 
} 
 
println pogoToXml( new Airport( name:'Manchester', code:'MAN', id:1 ) ) 

应该打印:

<Airport><name>Manchester</name><code>MAN</code><id>1</id></Airport> 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!