2017-04-05 31 views
0

我的XML:杰克逊解组:存储内部XML作为字符串

<body> 
    <type>authorizationStatus</type> 
    <data> 
     <AuthorizationStatusMessage> 
     <id>12345679</id> 
     <email>abc</email> 
     </AuthorizationStatusMessage> 
    </data> 
</body> 

我想这个XML解组到这样一个POJO:

public class XMPPMessage { 
    private String type; 
    private String data; 
} 

杰克逊解组给了我一个HashMap:

{AuthorizationStatusMessage={id_colaborador=12345679, [email protected]}} 

但我想保持数据内部的XML为一个像这样的字符串:

<AuthorizationStatusMessage><id>12345679</id><email>abc</email></AuthorizationStatusMessage> 

如何将内部XML保存为字符串?

回答

1

我可以看到两个选项。

  1. 如果您可以修改您的XML架构,你可能想利用CDATA节(https://en.wikipedia.org/wiki/CDATA),让您的<data>内容String

  2. 您可以实现自定义Jackson解串器来提取typedata。网上有很多很好的参考资料(例如http://www.baeldung.com/jackson-deserialization)。

+0

我知道了...我找到一个名为Conversion Box的库(http://capsulesforthejavamind.blogspot.in/2015/01/conversion-box.html)将HashMap转换为XML。 –

0

我知道了...我找到了一个名为Conversion Box的库来将HashMap转换为XML。