有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用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) 个答案

  1. # 1 楼答案

    如果可以定义XML结构,那么应该检查Map Converter并调整XML

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