我想知道将java对象转换为xml的最佳或最广泛使用的api是什么.我对这个问题很新.是否有某种api调用你可以传入一个对象并返回xml?或者,在需要通过拉出对象值来手动构建文档时,它是否更加乏味?
我一直在阅读有关xerces,sax和jaxb的内容.我想继续这条开源路线.
谢谢!
JAXB绝对是解决方案.
为什么?好吧,它在JDK 6中,所以你永远不会发现它没有维护.
它使用Java注释为类,方法和字段声明与XML相关的属性.
教程1
教程2
注意:JAXB还使您能够轻松地"解组"XML数据(之前已经从Java对象实例编组)返回到对象实例.
关于JAXB的另一个好处是:它受到其他Java相关技术的支持,例如JAX-RS(Java RESTful API,可作为Java EE 6的一部分).JAX-RS可以起到和接收JAXB对象对飞,不/需要编组的解组它们.您可能想要查看Netbeans,其中包含对JAX-RS的开箱即用支持.阅读本教程以开始使用.
编辑:
为了对"随机"(或外来)Java对象进行编组/解组,JAXB提供了相当简单的可能性:可以声明XmlAdapter 并将现有Java类"包装"为JAXB兼容.通过使用@XmlJavaTypeAdapter -annotation 来使用此类XmlAdapter .
您可能想要查看XStream:http: //x-stream.github.io