как использовать разбор XML в Android с помощью модернизации - PullRequest
0 голосов
/ 09 октября 2018

Я новичок в Android. Я хочу проанализировать XML-файл с помощью модернизации, я прошел по ссылкам, которые размещены в stackoverflow
Как использовать Retrofit и SimpleXML вместе для загрузки и анализа XML-файла из файла.site? Но в моем сценарии я должен добавить заголовки, как я могу добиться этого с помощью Retrofit.

Ниже представлен анализатор xml XmlParser

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Пример интерфейса с заголовком в качестве статического значения:

public interface ApiService {

    @Headers("user-key: 9900a9720d31dfd5fdb4352700c")
    @GET("api/v2.1/search/webxml")
    Call<String> getRestaurantsBySearch(@Query("q"), String query);

}

Пример интерфейса с заголовком в качестве параметра:

public interface ApiService {

    @GET("api/v2.1/search/webxml")
    Call<String> getRestaurantsBySearch(@Query("q"), String query, @Header("user-key") String userkey);

}
0 голосов
/ 09 октября 2018

Пример веб-службы без заголовков:

public interface ApiService {
    @GET("/webservice/xml")
    Call<YourClass> getXml();
}

Вот как мы добавляем статические и динамические заголовки:

public interface ApiService {
    @Headers({"Accept: application/json"})
    @GET("/webservice/xml")
    Call<YourClass> getXml(@Header("Authorization") String authorization);
}

Использование ApiService:

new Retrofit.Builder()
.baseUrl("server ip")
.addConverterFactory(SimpleXmlConverterFactory.create())
.build().create(ApiService.class).getXml("This is a value that will be sent as authorization header");

ВЧтобы использовать этот код, вы должны добавить следующие строки в свой файл Gradle:

compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile('com.squareup.retrofit2:converter-simplexml:2.1.0') {
    exclude group: 'xpp3', module: 'xpp3'
    exclude group: 'stax', module: 'stax-api'
    exclude group: 'stax', module: 'stax'
}

Вот хороший учебник https://futurestud.io/tutorials/retrofit-add-custom-request-header

...