我正在搜索一个轻量级 API(最好是单一类)来转换一个
Map<String,String> map = new HashMap<String,String();
到 XML,反之亦然,将 XML 转换回 Map<String,String>
。
例子:
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 就足够了。
原文由 Chris 发布,翻译遵循 CC BY-SA 4.0 许可协议
XStream!
更新:我按照评论中的要求添加了解组部分..