我正在使用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转换器?...
答案 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
但是,如果您需要更多帮助,请告诉我