XML 转换器句柄 EmptyList

XML converter handle EmptyList

我正在尝试使用 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 上,所以我有 entryempty 但没有变化。我还从 @Roots.

中删除了 name

有人对此有答案吗?

问题已解决。是我的解析过于复杂了。我正在使用 SimpleXML 工厂,将其更改为:

Serializer serializer = new Persister();
SearchResult result = serializer.read(SearchResult.class, myXMLString);