Проблема аннотирования android java класса с TikXml - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь разобрать ленту 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();
}
...