Я пытаюсь сделать то же самое, но всегда получаю ту же ошибку Исключение в потоке "main" name = "soap-env: Body", обязательный = false) param: Элемент (name = "soap-env: Body", обязательный = false) var body: Body? = null)

аюсь использовать XML с помощью SimpleXML от Retrofit 2. После нескольких часов борьбы с Kotlin я решил попробовать версию Java и затем преобразовать ее в Kotlin. И версия Java работала хорошо ...

ошибка:

java.lang.RuntimeException: org.simpleframework.xml.core.MethodException: Annotation @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=true, name=entry, required=true, type=void) must mark a set or get method

Мне нужен класс модели Kotlin, который сможет использовать этот XML. Вот вход:

<feed>
   <entry>
        <id> someid </id>
        <published> somedate </published>
   </entry>

   <entry>
        <id> someid2 </id>
        <published> somedate2 </published>
   </entry>
</feed>

Версия класса модели Java (работает нормально):

@Root(name = "feed", strict = false)
public class MFeed {
    @ElementList(name = "entry", inline = true)
    private List<MEntry> entriesList;

    public MFeed(List<MEntry> entriesList) {
        this.entriesList = entriesList;
    }

    public MFeed() {
    }

    public List<MEntry> getEntriesList() {
        return entriesList;
    }

    public void setEntriesList(List<MEntry> entriesList) {
    this.entriesList = entriesList;
    }
}

@Root(name = "entry", strict = false)
public class MEntry {

    @Element(name = "id")
    private String id;

    @Element(name = "published")
    private String published;

    public MEntry() {
    }

    public MEntry(String id, String published) {
        this.id = id;
        this.published = published;
    }

    public String getId() {
        return id;
    }

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

    public String getPublished() {
        return published;
    }

    public void setPublished(String published) {
        this.published = published;
    }
}

и автоматически сгенерированные модели Kotlin выглядят так:

@Root(name = "feed", strict = false)
class Feed {
    @ElementList(name = "entry", inline = true)
    private var entriesList: List<MEntry>? = null

    //autogenerated by converter java -> kotlin
    constructor(entriesList: List<MEntry>) {
        this.entriesList = entriesList
    }

    //autogenerated by converter java -> kotlin
    constructor() {}
}

@Root(name = "entry", strict = false)
class Entry {
    @Element(name = "id")
    var id: String? = null

    @Element(name = "published")
    var published: String? = null

    //autogenerated by converter java -> kotlin
    constructor() {}

    //autogenerated by converter java -> kotlin
    constructor(id: String, published: String) {
        this.id = id
        this.published = published
    }
}

Я много работал за списки XML, включаяэто Почта,это а такжеэто, Никто не работал. Возможно, они устарели. Кто-нибудь сталкивался с такой проблемой?

Ответы на вопрос(1)

Ваш ответ на вопрос