Я пытаюсь разобрать ленту RSS и получаю сообщение об ошибке,
W / System.err: java .io.IOException: Не удалось сопоставить атрибут xml с именем name в пути / мета [@name] к java классу. Вы аннотировали такое поле в своем классе java для сопоставления этого атрибута xml? В противном случае вы можете отключить это сообщение об ошибке с помощью Tik Xml .Builder (). ExceptionOnUnread Xml (false) .build ().
Мой класс выглядит следующим образом. Я пробовал чередовать между @Attribute и @PropertyElement. Я пробовал с / без объявленной @Path. Когда я устанавливаю exceptionOnUnreadXml(false)
, я получаю cra * sh, когда пытаюсь войти в систему. Не уверен, что еще я могу сделать.
@Xml
public class Rss {
@Path("channel")
@Attribute
String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
Канал структурирован следующим образом:
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
...some things
>
<channel>
<title>Some title</title>
</channel>
</rss>
Другая потенциально полезная информация
//in app module
@Singleton
@Provides
WebService provideWebService(OkHttpClient okHttpClient) {
return new Retrofit.Builder()
.baseUrl(WebService.BASE_URL)
.addConverterFactory(TikXmlConverterFactory.create())
.client(okHttpClient)
.build()
.create(WebService.class);
}
//web service
public interface WebService {
String BASE_URL = "https://randomfeed.com/feed/";
@GET("/")
Call<Rss> getFeed();
}