映射一个HashMap来在XML键 - 值属性我有以下实体:如何使用XStream的
@XStreamAlias("entity")
public class MapTestEntity {
@XStreamAsAttribute
public Map<String, String> myMap = new HashMap<>();
@XStreamAsAttribute
public String myText;
}
我使用XStream使用它像:
MapTestEntity e = new MapTestEntity();
e.myText = "Foo";
e.myMap.put("firstname", "homer");
e.myMap.put("lastname", "simpson");
XStream xstream = new XStream(new PureJavaReflectionProvider());
xstream.processAnnotations(MapTestEntity.class);
System.out.println(xstream.toXML(e));
,并得到下面的XML :
<entity myText="Foo">
<myMap>
<entry>
<string>lastname</string>
<string>simpson</string>
</entry>
<entry>
<string>firstname</string>
<string>homer</string>
</entry>
</myMap>
</entity>
但我需要的HashMap
映射到属性的XML,如:
<entity myText="Foo" lastname="simpson" firstname="homer" />
我该如何做到这一点与XStream?我可以使用自定义转换器或映射器或类似的东西吗? TIA!
(当然我的代码必须确保在XML属性没有重复。)
它只能与Map一起使用,是吗? –
Emi
@Emi你是对的。对我来说这就足够了。 (但它可能会扩展为使用可用的字符串表示法处理其他对象。) – t777