Castor XML绑定和JAXB绑定之间有什么区别

use*_*501 10 java xml castor jaxb

Castor XML和JAXB绑定有什么区别,因为它们都是将Java对象绑定到XML,反之亦然.

更新 :

使用Castor我可以做到这一点假设packageA.ClassA并且packageB.ClassA具有相同的属性和类名,只是它们位于不同的包中.

packageA.ClassA - > XML -> packageB.ClassA 
Run Code Online (Sandbox Code Playgroud)

通过使用JAXB,如果我正在将此Marshall对象转换packageA.ClassA为XML并从XML解组为对象,则会packageB.ClassA出现Casting错误.

Vas*_*asu 16

请注意,JAXB是一个API,并且有多个实现可用.

Sun提供了一个参考实现,并将其打包为J2EE(它也可以在J2SE 1.6中使用).Castor诞生于JAXB从Sun出来之前,并提供了一些额外的功能.但是,如果您只想要纯XML绑定,那么参考Sun实现应该很有效.

JavaWorld上有一篇很棒的文章.有点旧,但大多数想法解释仍然有效.你不会发现文章提到JAXB注释,这使得现在的事情更容易.

Simple是一个易于使用的绑定框架,可以使用最简单的"简单"配置.

DOM是一个完全不同的概念 - 它全部都是关于解析而不是关于绑定.使用DOM解析器,您可以从XML中提取数据.但它没有给你一个对象映射工具.因此,您仍然必须使用DOM提取数据,然后编写代码将此数据推送到java对象.