我正在尝试使用simpleframework转换器来转换此XML:
<?xml version="1.0" encoding="UTF-8" ?>
<dvds generator="$Id: dvd.tpl 855 2008-08-04 15:53:24Z glapierre $"></dvds>
到那些课程:
@Root
public class SearchResult {
@Attribute(name = "generator")
private String generator;
@ElementList(entry = "dvd", inline = true, required = false, empty = true)
private List<DVDResult> dvds;
public SearchResult() {}
public List<DVDResult> getDVDs() {
return dvds;
}
public String getGenerator() {
return generator;
}
}
@Root
public class DVDResult {
// Some @Element with getters
}
当列表不为空时没有问题,但在这种特殊情况下,我得到org.simpleframework.xml.stream.NodeException: Document has no root element
,我真的不知道为什么。
我认为它出现在@ElementList
上,所以我有entry
和empty
但没有变化。我还从name
s。
@Root
有人对此有答案吗?
答案 0 :(得分:0)
问题解决了。这是我的解析过于复杂。我正在使用SimpleXML工厂,将其更改为:
Serializer serializer = new Persister();
SearchResult result = serializer.read(SearchResult.class, myXMLString);