Java与XML的故事序:Jaxb和Jaxp
2015-03-07 16:59
232 查看
当年我刚开始使用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 (属于
,利用XML文档的XML
Schema Definition(XSD),在Java中使用 annotations实现XML 文档和 java 对象模型转映射。
接下来的系列中,主要是写写自己如何通过JAXB实现XML与Java对象的转换。
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 for XML: JAXP、JAXB、JAXM、JAX-RPC、JAX-WS
- Java for XML: JAXP、JAXB、JAXM、JAX-RPC、JAX-WS
- java中用jaxp解析xml
- Java下XML编程接口比较:DOM SAX JDOM JAXP
- Java Architecture for XML Binding (JAXB)
- JAXB 实现java对象与xml之间互相转换(一)
- java 通过JAXB 实现对象和xml互相转化
- JAXP(Java API for XML Parsing)
- javawebXML及Jaxp解析XML
- 一个jaxb的例子看java object和xml之间的转换
- JAXB实现java对象与xml相互转化
- JAXB (1) xml<->Java
- JAXB实现xml与java对象的
- JAXP(Java API for XML Parsing)
- JAXB:Java Object与XML的互相转换
- 一个jaxb的例子看java object和xml之间的转换
- JSR 206: Java API for XML Processing (JAXP) 1.3
- JAXB实现XML和Java对象绑定
- JAXB Web Service java 代码转换成xml,xml 转换成java
- PetClinic剖析(三)JAXB(Java Architecture for Xml Binding)