这个放在一个test case里面运行,或者你改成Main方法。
上面map转成的xml:
List<map>这种类型的转换同上,核心代码就是把对应的类都加上别名。
对应的xml:
从xml转回List<map>的办法就是:
lsStr就是上面的 list xml 对应的字符串。
public void testMap(){
XStream xstream = new XStream(new DomDriver());
Map map=new HashMap();
map.put("Id", 123);
map.put("name", "berniew");
String tmpStr=xstream.toXML(map);
System.out.println(tmpStr);
xstream.alias("map", HashMap.class);
Map newmap=(HashMap)xstream.fromXML(tmpStr);
System.out.print(newmap.get("name").toString());
}
上面map转成的xml:
<map>
<entry>
<string>name</string>
<string>berniew</string>
</entry>
<entry>
<string>Id</string>
<int>123</int>
</entry>
</map>
List<map>这种类型的转换同上,核心代码就是把对应的类都加上别名。
对应的xml:
<list>
<map>
<entry>
<string>name</string>
<string>berniew</string>
</entry>
<entry>
<string>Id</string>
<int>123</int>
</entry>
</map>
</list>
从xml转回List<map>的办法就是:
XStream xstream = new XStream(new DomDriver());
xstream.alias("list", ArrayList.class);
xstream.alias("map", HashMap.class);
List<Map> ls=xstream.toXML(lsStr);
lsStr就是上面的 list xml 对应的字符串。