首页 > 编程语言 > 详细

Java与XML的故事序:Jaxb和Jaxp

时间:2015-03-07 17:09:19      阅读:266      评论:0      收藏:0      [点我收藏+]

当年我刚开始使用Java的时候,有时候会考虑使用xml来存储数据,那个时候一般使用JAXP中的DOM或者SAX parser 包来CRUD xml文件。后来Web Service大行其道,WSDL, XSD这种很好格式化的文档,非常适合可以自动生成代码,于是出现了JAXB,通过annotation方便实现xml和Java class之间的转换。

JAXP (Java API for XML Processing) 中DOM( Document Object Model)把整个xml当成对象处理,非常方便随机读写,不过如果xml文件很大的话那就可能内存占用成问题,SAX(Simple API for XML)把xml中所有的节点当成事件处理(org.xml.sax.helpers.DefaultHandler),那么顺序读取xml文件的时候比DOM就好很多,更快占用内存少。

JAXP中还有非常有用的2个成员,XSTL(Extensible Stylesheet Language Transformations)在Java中实现XML与其他格式的转换和Stax(Streaming API for XML)类似SAX,不同是按流方式处理XML文件,同时主动拉取数据而不是被动等待event到来。

JAXP的API可以说是对XML的直接处理低层次API,对于WebService以及ORM服务来说,直接使用还是太过复杂,为了进一步的简化程序员的工作,JAXB (Java Architecture for XML Binding) 出现了,作为特殊的API (属于 javax.xml.bind的一部分) ,利用XML文档的XML Schema Definition(XSD),在Java中使用 annotations实现XML 文档和 java 对象模型转映射。

接下来的系列中,主要是写写自己如何通过JAXB实现XML与Java对象的转换。

Java与XML的故事序:Jaxb和Jaxp

原文:http://blog.csdn.net/cloud_ll/article/details/43898037

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!