Проблема с простыми XML-аннотациями

Я использую Retrofit для анализа ответа сервера, и я не могу увидеть, какие аннотации следует использовать для решения этой проблемы. Я даже сослался на это. Какой должен быть правильный путь.

Ниже приводится мой журнал onFailure от Retrofit.

failurejava.lang.RuntimeException: org.simpleframework.xml.core.ElementException: элемент 'route' не имеет соответствия в классе drish.com.dsfaallstars.updatefromserver.model.Routes в строке -1 ноль

XML, который я получаю:

<routes>
    <route>
        <id>20</id>
        <name>Barnala</name>
        <update>false</update>
    </route>
    <route>
        <id>15</id>
        <name>Kapurthala</name>
        <update>false</update>
    </route>
    <route>
        <id>14</id>
        <name>Nakodar</name>
        <update>false</update>
    </route>
</routes>

public class Routes {

  @Root
  @ElementList
  private List<Route> routes;
}

@Root(name = "route")
 public class Route{

    @Element(required = false)
    private String id;

    @Element(required = false)
    private String update;

    @Element(required = false)
    private String name;

    public String getId ()
    {
      return id;
    }

    public void setId (String id)
    {
      this.id = id;
    }

    public String getUpdate ()
    {
      return update;
    }

    public void setUpdate (String update)
    {
      this.update = update;
    }

    public String getName ()
    {
      return name;
    }

    public void setName (String name)
    {
      this.name = name;
    }
  }
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
182
1

Ответы 1

@Element(name = "routes")
@Order(elements = "route")
public class Routes {

  @ElementList(entry = "route",inline = true)
  private List<RoutePojo> route;

  @Override
  public String toString() {
    return "Routes{" +
        "route = " + route +
        '}';
  }
}



public class RoutePojo{

    @Element(required = false)
    private String id;

    @Element(required = false)
    private String update;

    @Element(required = false)
    private String name;

    public String getId ()
    {
      return id;
    }

    public void setId (String id)
    {
      this.id = id;
    }

    public String getUpdate ()
    {
      return update;
    }

    public void setUpdate (String update)
    {
      this.update = update;
    }

    public String getName ()
    {
      return name;
    }

    public void setName (String name)
    {
      this.name = name;
    }

  @Override
  public String toString() {
    return "RoutePojo{" +
        "id='" + id + '\'' +
        ", update='" + update + '\'' +
        ", name='" + name + '\'' +
        '}';
  }
}

Принял помощь от stackoverflow.com/questions/17901818/…

ashishdhiman2007 11.05.2018 07:00

Другие вопросы по теме