使用XStream从这种形式的XML中对对象(Hashmap)进行java(反)序列化
XML:
JAVA Hashmap: map={key1=text1,key2=text2}
这不管用。为什么
String xml = "<nodes><node id=\"key1\"><![CDATA[text1]]></node><node id="\key2\"><![CDATA[text2]]></node></nodes>";
XStream xs = new XStream();
xs.alias("nodes", Map.class);
xs.alias("node", String.class);
xs.useAttributeFor("id",String.class);
Map<String,String> map= (Map<String,String>) xs.fromXML(xml);
System.out.println(map);
# 1 楼答案
如果可以定义XML结构,那么应该检查Map Converter并调整XML
如果没有,你应该自己写custom converter。您可以查看this thread以检查与您的需求类似的实现