XML转换器句柄EmptyList

时间:2016-08-12 16:17:51

标签: java xml simple-framework

我正在尝试使用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但没有变化。我还从name s。

中删除了@Root

有人对此有答案吗?

1 个答案:

答案 0 :(得分:0)

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

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