Java SimpleXml框架-嵌入式集合

Java SimpleXml框架-嵌入式集合,java,collections,xml-serialization,simple-framework,Java,Collections,Xml Serialization,Simple Framework,我尝试使用simple序列化嵌入式集合。 例如: Map<String, List<MyClass>> 它很好用。我不知道如何处理嵌入式收集。我知道@ElementList注释,但不知道在这种情况下如何使用它。有什么提示吗?我遇到了同样的问题。我唯一能让它工作的方法就是在另一堂课上列出一份非常俗气的黑客包装清单 public class MyWrapper { @ElementList(name="data") private List<MyCl

我尝试使用simple序列化嵌入式集合。 例如:

Map<String, List<MyClass>>

它很好用。我不知道如何处理嵌入式收集。我知道
@ElementList
注释,但不知道在这种情况下如何使用它。有什么提示吗?

我遇到了同样的问题。我唯一能让它工作的方法就是在另一堂课上列出一份非常俗气的黑客包装清单

public class MyWrapper {

    @ElementList(name="data")
    private List<MyClass> data = new ArrayList<MyClass>();

    public MyWrapper(List<MyClass> data) {
        this.data = data;
    }

    public List<MyClass> getData() {
        return this.data;
    }

    public void setData(List<MyClass> data) {
        this.data = data;
    }

}
公共类MyWrapper{
@元素列表(name=“data”)
私有列表数据=新的ArrayList();
公共MyWrapper(列表数据){
这个数据=数据;
}
公共列表getData(){
返回此.data;
}
公共无效设置数据(列表数据){
这个数据=数据;
}
}
然后,而不是

@ElementMap Map<String,List<MyClass>>
@ElementMap
…你应该:

@ElementMap Map<String,MyWrapper>
@ElementMap

在我的例子中,Map对我的类来说是完全私有的(也就是说,其他类永远不能直接与Map对话),所以我在这里有这个额外的层这一事实并没有多大区别。当然,生成的XML很粗糙,但在我的例子中,它是可以忍受的,因为在我的类之外没有任何东西在使用它。但愿我有一个比这更好的解决方案,但现在我被难住了。

谢谢你的回答!我也考虑过:)我用自己的转换器实现了org.simpleframework.xml.convert.converter接口,成功地序列化了这样的对象。但我对这两种解决方案都不满意。我希望有一种更简单的方法可以开箱即用。我们谈论的只是序列化java集合,它不是一门火箭科学:)根据你的建议,我尝试了我自己的转换器,我实际上认为它是这两种方法中更好的(即使不是理想的)选择。至少在使用转换器时,我不会用那些只为使序列化程序满意而存在的结构来污染我的域对象:p
@ElementMap Map<String,MyWrapper>