2016-04-10 11 views
0

私はgrails 3.1アプリケーションを持っています。Grails 3 - Marshaller with XML

以下は完全に動作するJSON marshallerを使用する要素をカスタマイズするためのコードです。

JSON.createNamedConfig("memeListView", { 
      JSON.registerObjectMarshaller(Meme) { Meme memeIns -> 
       return [ 
         caption: memeIns.caption, 
         likeCount: memeIns.likeCount, 
       ] 
      } 
     }) 

しかし、私は上記のコードをXMLマーシャラーに対して試しましたが、必要ではなくオブジェクト属性全体を表示します。以下は、XMLマーシャリングのコードです。アクションパートで

XML.createNamedConfig("memeListView", { 
       XML.registerObjectMarshaller(Meme) { Meme memeIns -> 
        return [ 
          caption: memeIns.caption, 
          likeCount: memeIns.likeCount, 
        ] 
       } 
      }) 

JSON.use('memeListView'){ 
     render memesList as JSON 
} 

は親切にXML応答のために整列化を行う方法を、私を示唆しています。

答えて

1

XML-ishを返す必要があると思います。私はXMLマーシャラーが2番目の引数を渡すと思う。

ので、多分(メモリからこれをしようとして):

XML.createNamedConfig("memeListView", { 
    it.registerObjectMarshaller(Meme) { Meme memeIns, xml -> 
     xml.build { 
      caption(memeIns.caption) 
      likeCount(memeIns.likeCount) 
     } 
    } 
}) 

または

XML.createNamedConfig("memeListView", { 
    it.registerObjectMarshaller(Meme) { Meme memeIns, xml -> 
     xml.attribute 'caption', memeIns.caption 
     xml.attribute 'likeCount', memIns.likeCount 
    } 
}) 

あなたはXMLを見てみたい方法に応じて?

+0

まだ全体の行為を表示します –

+0

あなたはそれを使用しているコードを表示できますか? – billjamesdev

+0

XML.use( "memeListView"){ XMLとしてmemeListをレンダリング } –