每当我搜索了如何序列化到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一个非常有用的长效机制的对象。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top