使用Simple XML </string,>序列化Treemap <string,string =“”>

时间:2014-01-17 10:40:04

标签: java simple-framework

我已经创建了一个类似于下面的包装类(这是必要的吗?我尝试直接序列化树形图而不创建任何包装类并且它失败了)遵循类似thread中提供的答案。

@Root
public class Example {

   @ElementMap(entry="property", value="value", attribute=true, inline=true)
   private TreeMap<String, String> map;

    public Example()
    {
        map = new TreeMap<String, String>() {
            {
                put("testing1", "a");
                put("testing2", "b");
                put("testing3", "c");
            }
        };
    }
}

然后我尝试使用以下代码序列化它:

Serializer serializer = new Persister();
Example example = new Example();
File result = new File("example.xml");
serializer.write(example, result);

生成了example.xml文件,但它是一个空文件。是因为Simple XML不支持Treemap吗?我做错了吗?

1 个答案:

答案 0 :(得分:0)

根据我的评论,我已经尝试过你的代码,它运行没有任何问题(在一个独立的Java应用程序上)。所以,我对正在发生的事情的想法是:

  • 任何编译或类路径问题,可能会更正 关于项目清理
  • 如果您在物理电话上进行调试,可能会发生一些事情,它不会让程序在该文件上写入
  • 您的应用可能在编写该文件时遇到任何问题

无论如何,这是生成的文件:

<example>
   <property string="testing1" value="a"/>
   <property string="testing2" value="b"/>
   <property string="testing3" value="c"/>
</example>