我正在搜索轻量级API(最好是单个类)以转换
Map<String,String> map = new HashMap<String,String();
到xml,反之亦然,将XML转换回Map。
例:
Map<String,String> map = new HashMap<String,String();
map.put("name","chris");
map.put("island","faranga");
MagicAPI.toXML(map,"root");
结果:
<root>
<name>chris</chris>
<island>faranga</island>
</root>
然后回来:
Map<String,String> map = MagicAPI.fromXML("...");
我不想使用JAXB或JSON转换API。只需简单的情况,它就不必处理嵌套的地图或属性或其他任何内容。有什么建议?
编辑:我创建了一个工作副本并粘贴示例。感谢fvu和Michal Bernhard。
下载最新的XStream框架,“仅核心”就足够了。
Map<String,Object> map = new HashMap<String,Object>();
map.put("name","chris");
map.put("island","faranga");
// convert to XML
XStream xStream = new XStream(new DomDriver());
xStream.alias("map", java.util.Map.class);
String xml = xStream.toXML(map);
// from XML, convert back to map
Map<String,Object> map2 = (Map<String,Object>) xStream.fromXML(xml);
不需要转换器或其他任何东西。仅xstream-xyzjar就足够了。
<map> <entry> <string>name</string> <string>chris</string> </entry> <entry> <string>island</string> <string>faranga</string> </entry> </map>