我可以在Android中使用哪种XmlConverter进行改装?

时间:2018-12-14 05:43:27

标签: android xml jaxb retrofit simple-xml-converter

我正在使用Retrofit开发Android应用。

服务器正在发送XML作为响应。 所以我应该转换它。 对于Json,我使用了GsonConverter。 对于XMl,我想我可以使用SimpleXMLConverter。

我访问了SimpleXMLConverter的GitHub链接: https://github.com/square/retrofit/tree/master/retrofit-converters/simplexml

我发现了此消息:

  

已弃用–请切换到JAXB转换器

因此,我访问了JAXBConverter的Github链接:https://github.com/square/retrofit/tree/master/retrofit-converters/jaxb

但我发现了此消息:

  

请注意,JAXB在Android上不起作用。

嗯...我应该使用什么xml转换器?...

1 个答案:

答案 0 :(得分:3)

我面临着同样的问题,但杰克·沃顿(Jake Wharton)进行了救援。
https://github.com/square/retrofit/issues/2733

Tickaroo TikXML可以替代
添加以下依赖项

implementation 'com.tickaroo.tikxml:annotation:0.8.15'
implementation 'com.tickaroo.tikxml:core:0.8.15'
implementation 'com.tickaroo.tikxml:retrofit-converter:0.8.15'

annotationProcessor 'com.tickaroo.tikxml:processor:0.8.15'

(如果您对版本有疑问,可以使用0.8.13)

同步项目后,您可以像下面这样使用TikXML转换器工厂:

 Retrofit retrofit = new Retrofit.Builder().baseUrl(BASE_URL)
                .addConverterFactory(TikXmlConverterFactory.create())
                .build();

TikXML的自述文档非常简单,可以在这里找到: https://github.com/Tickaroo/tikxml/blob/master/docs/AnnotatingModelClasses.md

但是,如果您需要更多帮助,请告诉我