gpt4 book ai didi

java - 通过 XML API 改造阅读列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:26:00 26 4
gpt4 key购买 nike

我正在尝试将 Retrofit 与 SimpleXmlConverter 结合使用以从我的 API 读取数据。

我的类(class)评论看起来像:

@Root
class Comment {
@Element
private String text;
}

我想从 XML 中读取评论列表:

<comments>
<comment>
<text>sample text</text>
</comment>
<comment>
<text>sample text</text>
</comment>
</comments>

在我的界面中有一个方法:

@GET("/lastcomments")
ArrayList<Comment> lastComments();

但是当我调用 lastComments() 改造抛出:

 Caused by: retrofit.RetrofitError: java.lang.ClassCastException: libcore.reflect.ParameterizedTypeImpl cannot be cast to java.lang.Class
...
Caused by: retrofit.converter.ConversionException: java.lang.ClassCastException: libcore.reflect.ParameterizedTypeImpl cannot be cast to java.lang.Class
at com.mobprofs.retrofit.converters.SimpleXmlConverter.fromBody(SimpleXmlConverter.java:76)
...
Caused by: java.lang.ClassCastException: libcore.reflect.ParameterizedTypeImpl cannot be cast to java.lang.Class
at com.mobprofs.retrofit.converters.SimpleXmlConverter.fromBody(SimpleXmlConverter.java:72)

是否可以直接从 API 读取列表,或者我必须创建包装器:

@Root(name="comments")
class CommentsList {
@Element(name="comment", inline=true)
List<Comment> comments;
}

最佳答案

抱歉,我知道这可能为时已晚,但答案如下:

您需要使用 ElementList 属性:

@Root(name="comments")
class CommentsList {
@ElementList(name="comment")
List<Comment> comments;
}

关于java - 通过 XML API 改造阅读列表<Item>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com