xstream map list convert 转换

这个放在一个test case里面运行,或者你改成Main方法。
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 对应的字符串。



你可能感兴趣的:(java,xml)