Какой тип XmlConverter я могу использовать для Retrofit в Android? - PullRequest
0 голосов
/ 14 декабря 2018

Я разрабатываю приложение для Android с использованием Retrofit.

Сервер отправляет XML в качестве ответа.Так что я должен преобразовать это.В случае с Json я использовал GsonConverter.А для XMl, я думаю, я могу использовать SimpleXMLConverter.

Я посетил ссылку GitHub для SimpleXMLConverter: https://github.com/square/retrofit/tree/master/retrofit-converters/simplexml

И нашел это сообщение:

устарел- Пожалуйста, переключитесь на JAXB Converter

Итак, я посетил ссылку Github для JAXBConverter: https://github.com/square/retrofit/tree/master/retrofit-converters/jaxb

Но я нашел это сообщение:

Примечаниечто JAXB не работает на Android.

Хмм ... какой конвертер XML я должен использовать? ...

1 Ответ

0 голосов
/ 02 января 2019

Я столкнулся с той же проблемой, но на помощь пришел Джейк Уортон.
(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

Но если вам нужна дополнительная помощь, пожалуйста, дайте мне знать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...