【发布时间】:2014-02-20 17:11:55
【问题描述】:
我正在尝试使用 Retrofit 和 SimpleXML 在 Android 上读取配置文件。
我已经设置了我的依赖项和一个有效的 XML 方案。简单的 XML 开始解析我的文档,但是当它达到某个标签/深度时,它会失败并出现以下错误
Caused by: retrofit.converter.ConversionException: org.simpleframework.xml.core.ElementException: Element 'Host' does not have a match in class
Caused by: org.simpleframework.xml.core.ElementException: Element 'Host' does not have a match in class
我的部分 xml 如下所示:
<Config>
...
<Identity>
<Address>
<Host>...</Host>
...
</Address>
...
</Identity>
...
</Config>
它会解析所有内容,直到到达Host 标签,这是第一个嵌套那么深的元素。给出的错误通常表示缺少注释,但在这种情况下,它被注释为应有的注释。我的映射对象如下所示:
@Root(name="Config")
public class Config {
@ElementList(entry="Identity", inline=true)
private List<Identity> mIdentities;
@Root(name="Identity")
static class Identity {
@Element(name="Address")
private Address mAddress;
...
}
@Root(name="Address")
static class Address {
@Element(name="Host")
private String mHost;
...
}
}
是否有其他人遇到过类似问题并且知道问题可能是什么?还是 SimpleXML 受限于它可以达到的深度?也许这是与 ListElement 相关的问题?我找不到任何提及任何问题的文档。
【问题讨论】:
标签: java android xml simple-framework