自从我愤怒地使用Java以来已经有一段时间了,所以如果这很愚蠢,请原谅我。
我刚刚开始使用 JAXB 来反序列化传入的 XML 字符串(来自 Jetty 服务器)的 Java 项目。该项目仅针对这种情况使用 JAXB。
JAXB 的替代品是什么?
JAXB 对这些替代方案的优缺点是什么
我进行了一些谷歌搜索并找到了很多参考资料,但是是否有一个明确的来源是 JAXB 问题的转到位置,或者人们只是看到人们在做什么并从那里解释。
谢谢。
自从我愤怒地使用Java以来已经有一段时间了,所以如果这很愚蠢,请原谅我。
我刚刚开始使用 JAXB 来反序列化传入的 XML 字符串(来自 Jetty 服务器)的 Java 项目。该项目仅针对这种情况使用 JAXB。
JAXB 的替代品是什么?
JAXB 对这些替代方案的优缺点是什么
我进行了一些谷歌搜索并找到了很多参考资料,但是是否有一个明确的来源是 JAXB 问题的转到位置,或者人们只是看到人们在做什么并从那里解释。
谢谢。
我发现 JAX-B 非常有用,实际上比许多替代方案更喜欢它,尤其是当我从头开始并从 Java 对象而不是从模式中生成 Java 对象时。
根据我的经验,无论出于何种原因,我发现仅通过 Google 搜索很难找到好的文档。JAX-B 下载中提供了最好的电子文档,您还可以在其中找到大量示例。“ SOA Using Java Web Services ”也有很好的概述。
至于替代品,有:
可能还有更多。
想到 XML Bean ( http://xmlbeans.apache.org/ )
JAXB 的优点之一是它现在与 JDK6 捆绑在一起。生成输出非常紧凑且高效。我们目前正在将所有 XML Bean 实现转换为使用 JAXB 2。我们看到的最大缺点是缺少 XSD 相关操作。
我一直在为几个项目使用 JAXB。我认为它最好的一点是它与 JAX-WS 和 JAX-RS(JSR 311,Restful 规范)等新技术的集成。
如果您使用 Jetty 将传入的 XML 作为字符串处理,我会认真考虑查看 JAX-RS。它为您处理所有 JAXB 绑定内容,您只需使用一个对象。
对于 REST 样式和 SOAP Web 服务,我对通过 CXF 的 JAXB 非常满意。
我已经尝试了许多列出的建议,并且更喜欢简单。它在整体上相对较新,但成熟稳定,并且似乎考虑了其他 XML 框架的很多抱怨。我强烈建议阅读首页,如果可能的话,在你的项目中给它一个概念原型的快速证明。
看这里:http: //jcp.org/en/jsr/all对于 JSR-222。此 Java 规范请求指定标准(非免费)。
对于 JAXB 的替代方案,您可能需要查看 XFire ( http://xfire.codehaus.org/ ) 或 Axis2 ( http://ws.apache.org/axis2/ )。这些似乎是 2 种流行的替代方案,我相信现在两者都是 JAX-WS 投诉。
如果您有要解析的 xml 的对象模型,那么XStream非常好。
其他替代方案可能是 Castor、JibX、XMLBeans 或 JDOM。
其实我用过Castor。在 xml 绑定的情况下,它比 JAXB 更好。它提供了映射现有 Java bean 的功能。
JAXB 的一大缺点(如果在传输对象中使用注释)是 Android 不支持 JAXB 注释(类未知)并且您不能手动添加它们。另请参阅将 JAXB 与 Google Android 一起使用