JAXB很好,直到我需要做一些复杂的事情.有哪些替代方案?

Hap*_*eer 6 java xml jaxb

JAXB运行良好,直到我需要执行类似bean的操作,我无法修改源代码.如果bean没有默认构造函数,或者它引用了我想标记为transient的对象,那么我就会写一个单独的bean,我可以对其进行注释,然后手动从另一个bean复制信息.

例如,我想序列化异常对象,但发现唯一的方法是使用需要使用com.sun.*类的hack.

那么,还有哪些替代方案?什么是下一个最受欢迎的xml序列化API?能够做到这样的事情会很高兴:

  • 在序列化时选择是否在结果中包含某些字段.(在运行序列化程序时标记事物).

  • 通过使用引用或除了死亡之外的其他东西来处理对象图中的循环.

  • 也许注释一个对象,以便在版本1中以一种方式序列化事物,而在版本2中,它将它们序列化为另一种.然后在序列化时我只选择对象的哪个版本或序列化.

  • 有办法从对象的注释生成XSD.

基本上我只是想要比JAXB目前更灵活.

Chr*_*sel 1

另请参阅 JIBX。这是一个很好的 xml<-> 对象映射器。但我的经验是,如果您的对象具有某种时髦的关系,那么创建一个隐藏该复杂性的包装对象,然后使用 JIBX 映射该对象通常会更容易。