我试图在这里找到解决办法,但没有成功。
我有一个外部服务,它序列化一些数据并以形式返回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来反序列化它。
依赖于默认的消息转换器,我得到的只是映射列表,但是每个映射只包含一个带有键"entry“的元素,并且该值似乎是原始(xml)映射中的最后一个元素。
是否有一种方法可以让这个“开箱即用”使用一些现有的覆盖物,还是我需要一个定制的?并使用自定义,如何绕过反序列化通过ex。MappingJackson2XmlHttpMessageConverter还是MappingJackson2HttpMessageConverter?
发布于 2015-02-27 11:32:54
好的,最简单的解决方案是以xml字符串的形式获取这个资源,然后使用例如Xsream进行转换/反序列化。
XStream xStream = new XStream();
xStream.setMode(XStream.NO_REFERENCES);
List list = (List) xStream.fromXML(xmlString);https://stackoverflow.com/questions/28430355
复制相似问题