尽管我已经做了一段时间的开发人员,但我很幸运能够避免使用 XML 做很多工作。所以现在我有一个项目,我必须与一些 Web 服务进行交互,并且想使用某种对象到 XML 映射解决方案。
我唯一知道的是JAXB。那是最好的搭配吗?还有其他建议吗?
一个问题 - 我被困在使用 Java 1.4 中,所以我无法对注释做任何事情。
JAXB 是最佳选择:
EclipseLink JAXB (MOXy)是最好的实现:
MOXy 是一个带有扩展的 JAXB 实现
MOXy 有一个外部配置文件(基于带有扩展名的 JAXB 注释):
具有基于 XPath 的映射,用于深度映射:
旨在处理 ORM 映射对象,包括对双向关系的支持:
如果您使用 WSDL 调用 Web 服务,那么 JAXB 绝对是最佳选择。看看 wsimport,您将在 10 分钟内启动并运行。
我认为JAXB 2.0 不可能在Java 1.4 上出现。您可能需要改用 Axis:
java -cp axis-1.4.jar;commons-logging-1.1.jar;commons-discovery-0.2.jar;jaxrpc-1.1.jar;saaj-1.1.jar;wsdl4j-1.4.jar;activation-1.1.jar;mail-1.4.jar org.apache.axis.wsdl.WSDL2Java http://someurl?WSDL
这将生成与 JAXB 类似的存根。
如果您没有 WSDL 或 XSD,您始终可以生成一个.
有XStream。我似乎记得我很久以前就用过它,而且很好。不能说我有足够的经验来推荐或反对它,但值得一试。
JIBX - 以性能着称
JAXB2 - 易于使用
脚轮 - 易于使用
其他 - XMLBean、Xstream