Java的:序列化一个集合XML
-
24-09-2019 - |
题
每当我搜索了如何序列化到XML,我发现这个bean序列化的东西。似乎一切都将被声明为属性,这违背了我的目的。我想序列的复杂层次(直到他们得到原语,当然)在XML中,与(比如说)字典或列表作为父对象开始。
<强>哪些选项有用于自动XML序列化吗
我发现JAXB一些参考2004年,是仍然要走的路?
解决方案
尝试 XStream的库。否则很容易系列化任何复杂的对象层次,你可以扔了。
其他提示
我用在NetBeans为它的支持,特别是当已经有很多与JAXB成功的。我知道它支持名单的事实。我还没有与地图尝试过,但我怀疑它的工作原理。如果不出意外,只是做一个简单的bean包含列表,并让这成为序列化的bean。
可以使用标准java.bean.XMLEncoder
/ Decoder
类序列化的集合,因为该机制允许的通过XML方法的调用。输出看起来东西像:
<object class="java.util.ArrayList">
<void method="add">
<string>Hello</string>
</void>
<void method="add">
<string>World</string>
</void>
</object>
当然,这有弱点;例如,你不能轻易序列化Collections.emptyXXXX()
但也有变通方法。但是,因为一切都根据公开支持的API作品类的,持久XML形式是弹性的架构更改。
我发现它为Java一个非常有用的长效机制的对象。
不隶属于 StackOverflow