codecamp

为什么选 JAXB

当你接触到JAXB的时候,相信你对Java已经有了一定的认知,至少已经听说或使用过SAX,DOM等处理XML数据的方法。SAX使用起来比较麻烦,不能修改XML数据;DOM解析几乎不能将XML与Java对象映射起来,所有的值类型都只能对应为字符串类型。

实际上,无论是SAX还是DOM都不是专门为Java准备的,它们都是访问XML文档的统一底层接口,与语言无关。而JAXB为XML节点和属性提供提供了各种面向对象的处理方式,可以基于注解或适配器将XML转换为Java对象。因为其优雅的处理方式,从JRE6开始,JAXB就已经成为了JRE的内置模块。

  • 常用

    XML 是各种应用程序之间进行数据传输的最常用的语言之一,而JAXB提供了一个快速便捷的方式将Java对象与XML进行转换。

  • 易用

    在处理XML文档时,使用JAXB要比使用JAXP(DOM、SAX和StAX)更方便。但不表明DOM、SAX和StAX就再无用武之地,JAXB的底层实现可是基于JAXP的。

O/X Mapping
JAXB 发展历程
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

JAXB 简单转化案例

JAXB 之 Trang

简单XML生成——Marshaller数据源

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }