我正在使用 org.simpleframework.xml 来处理 android 应用程序的一些 xml 任务,并且遇到了以下我无法弄清楚的错误。
org.simpleframework.xml.core.PersistenceException: Element 'album' is already used with @org.simpleframework.xml.ElementList(inline=false, name=album, entry=, data=false, empty=true, required=true, type=void) on field 'albums' private java.util.List us.blah.sonar.xsd.simple.AlbumList.albums at line 5
at org.simpleframework.xml.core.Variable$Adapter.read(Variable.java:484)
at org.simpleframework.xml.core.Composite.readVariable(Composite.java:613)
at org.simpleframework.xml.core.Composite.readInstance(Composite.java:573)
这是我试图解组的 XML 示例:
<albumList> 
    <album id="3985" parent="3301" title="Bob Dylan - The Reissue Series Sampler" album="Bob Dylan - The Reissue Series Sampler" artist="48 - Masked and Anonymous [BSO] (2003)" isDir="true" created="2011-12-09T11:52:12"/> 
    <album id="3986" parent="3301" title="Soundtrack - Masked & Anonymous" album="Soundtrack - Masked & Anonymous" artist="48 - Masked and Anonymous [BSO] (2003)" isDir="true" coverArt="3986" created="2011-12-09T11:52:13"/> 
    <album id="10542" parent="145" title="A Perfect Circle" album="Acoustica" artist="A Perfect Circle" isDir="true" created="2011-12-09T12:01:52"/> 
</albumList>
以下是我创建和注释的POJO :
@Root
public class AlbumList {
    @ElementList(name="album")
    private List<Child> albums;
    public List<Child> getAlbums() {
        return albums;
    }
}
public class Child {
    @Attribute
    private String id;
    @Attribute(required=false)
    private String parent;
    @Attribute
    private boolean isDir;
    @Attribute
    private String title;
    @Attribute(required=false)
    private String album;
    @Attribute(required=false)
    private String artist;
    @Attribute(required=false)
    private int track;
    @Attribute(required=false)
    private int year;
    @Attribute(required=false)
    private String genre;
    @Attribute(required=false)
    private String coverArt;
    @Attribute(required=false)
    private long size;
    @Attribute(required=false)
    private String contentType;
    @Attribute(required=false)
    private String suffix;
    @Attribute(required=false)
    private String transcodedContentType;
    @Attribute(required=false)
    private String transcodedSuffix;
    @Attribute(required=false)
    private int duration;
    @Attribute(required=false)
    private int bitRate;
    @Attribute(required=false)
    private String path;
    @Attribute(required=false)
    private boolean isVideo;
    @Attribute(required=false)
    private String userRating;
    @Attribute(required=false)
    private double averageRating;
    @Attribute(required=false)
    private int discNumber;
    @Attribute(required=false)
    private Date created;
    @Attribute(required=false)
    private Date starred;
    @Attribute(required=false)
    private String albumId;
    @Attribute(required=false)
    private String artistId;
    @Attribute(required=false)
    private MediaType type;
}
任何人都可以指导我如何解决问题,或者这个错误消息到底意味着什么?是不是因为 XML 元素被命名为专辑并且有一个属性也被命名为专辑?