(de)使用XStream从此表单的XML序列化对象(Hashmap)

时间:2010-07-06 20:54:23

标签: java xml xstream

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 个答案:

答案 0 :(得分:2)

如果您可以定义XML结构,则应检查Map Converter并调整XML。

如果没有,您应该自己编写custom converter。您可以看到this thread来检查与您的需求类似的实现。