我试图在这里找到解决方案,但没有成功 我有外部服务,序列化一些数据并以形式返回xml:
<linked-list>
<linked-hash-map>
<entry>
<string>key1</string>
<string>value</string>
</entry>
<entry>
<string>key2</string>
<string>value2</string>
</entry>
</linked-hash-map>
<linked-hash-map>
....
</linked-hash-map>
</linked-list>
基本上它会返回地图列表List<Map<String, String>>
在我的应用程序中,我需要使用Spring的RestTemplate对其进行反序列化 依赖于默认的消息转换器,我得到的是地图列表,但每个地图只包含一个带有键的元素&#34; entry&#34;并且值似乎是原始(xml)映射中的最后一个元素。
有没有办法让这个工作&#34;开箱即用&#34;使用一些现有的转换器,还是需要定制?并且还使用自定义,如何绕过ex反序列化。 MappingJackson2XmlHttpMessageConverter
或MappingJackson2HttpMessageConverter
?
答案 0 :(得分:0)
好的,最简单的解决方案是将此资源作为xml字符串获取,然后使用例如Xsream转换/反序列化
XStream xStream = new XStream();
xStream.setMode(XStream.NO_REFERENCES);
List list = (List) xStream.fromXML(xmlString);