13

自从我愤怒地使用Java以来​​已经有一段时间了,所以如果这很愚蠢,请原谅我。

我刚刚开始使用 JAXB 来反序列化传入的 XML 字符串(来自 Jetty 服务器)的 Java 项目。该项目仅针对这种情况使用 JAXB。

JAXB 的替代品是什么?
JAXB 对这些替代方案的优缺点是什么

我进行了一些谷歌搜索并找到了很多参考资料,但是是否有一个明确的来源是 JAXB 问题的转到位置,或者人们只是看到人们在做什么并从那里解释。

谢谢。

4

10 回答 10

7

我发现 JAX-B 非常有用,实际上比许多替代方案更喜欢它,尤其是当我从头开始并从 Java 对象而不是从模式中生成 Java 对象时。

根据我的经验,无论出于何种原因,我发现仅通过 Google 搜索很难找到好的文档。JAX-B 下载中提供了最好的电子文档,您还可以在其中找到大量示例。“ SOA Using Java Web Services ”也有很好的概述。

至于替代品,有:

可能还有更多。

于 2008-12-16T23:45:08.483 回答
5

想到 XML Bean ( http://xmlbeans.apache.org/ )

JAXB 的优点之一是它现在与 JDK6 捆绑在一起。生成输出非常紧凑且高效。我们目前正在将所有 XML Bean 实现转换为使用 JAXB 2。我们看到的最大缺点是缺少 XSD 相关操作。

于 2008-12-17T14:19:09.593 回答
4

我一直在为几个项目使用 JAXB。我认为它最好的一点是它与 JAX-WS 和 JAX-RS(JSR 311,Restful 规范)等新技术的集成。

如果您使用 Jetty 将传入的 XML 作为字符串处理,我会认真考虑查看 JAX-RS。它为您处理所有 JAXB 绑定内容,您只需使用一个对象。

对于 REST 样式和 SOAP Web 服务,我对通过 CXF 的 JAXB 非常满意。

于 2008-12-16T17:34:50.777 回答
2

我已经尝试了许多列出的建议,并且更喜欢简单。它在整体上相对较新,但成熟稳定,并且似乎考虑了其他 XML 框架的很多抱怨。我强烈建议阅读首页,如果可能的话,在你的项目中给它一个概念原型的快速证明。

http://simple.sourceforge.net/

于 2008-12-17T18:15:07.917 回答
2

看这里:http: //jcp.org/en/jsr/all对于 JSR-222。此 Java 规范请求指定标准(非免费)。

于 2010-07-21T08:57:38.073 回答
1

对于 JAXB 的替代方案,您可能需要查看 XFire ( http://xfire.codehaus.org/ ) 或 Axis2 ( http://ws.apache.org/axis2/ )。这些似乎是 2 种流行的替代方案,我相信现在两者都是 JAX-WS 投诉。

于 2008-12-16T20:38:34.133 回答
1

如果您有要解析的 xml 的对象模型,那么XStream非常好。

于 2008-12-17T14:21:11.663 回答
1

其他替代方案可能是 Castor、JibX、XMLBeans 或 JDOM。

于 2008-12-26T02:46:03.853 回答
1

其实我用过Castor。在 xml 绑定的情况下,它比 JAXB 更好。它提供了映射现有 Java bean 的功能。

于 2009-06-09T07:36:05.407 回答
1

JAXB 的一大缺点(如果在传输对象中使用注释)是 Android 不支持 JAXB 注释(类未知)并且您不能手动添加它们。另请参阅将 JAXB 与 Google Android 一起使用

于 2013-05-29T09:41:05.040 回答