一些典型的XML的JAVA+API+(以备忘)

来源:互联网 发布:php restful 开源框架 编辑:程序博客网 时间:2024/06/05 10:44

1、 SAX  Simple API for XML, http://www.saxproject.org  这个是最简单的API,应该熟悉或者了解。

SAX使用回调模型与用户代码进行交互,与面向对象程序开发者的基本思想有点不同,被称为基于事件的编程模型。

2、 DOM Document Object Model 这个API在很多方面对SAX是一种补充。

什么时候选择DOM?随机访问文档或者访问元素的兄弟节点时,DOM有优势。如果修改XML,DOM也比较好。

3、 JAXP Java API for XML Processing

使用JAXP,可以比直接使用DOM或者SAX更容易实现代码的厂商无关性。任何打算使用JAXP的人,至少需要熟悉如何使用SAX和DOM。JAXP并不是要取代SAX或DOM,它仅仅是为了完善它们而产生的。

4、 StAX Streaming API For XML

SAX注重于代码,通过预先定义的接口,把各种事件作为解析器遍历XML文档。

DOM是在内存中创建一个结构树,然后将此结构树作为整体返回给代码。

StAX不需要实现任何特定接口,而SAX则必须要实现特定的接口。因此,与相应的SAX代码相比,使用基于拉式解析更简洁,更容易读。

5、 JDOM 是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于Apache协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始了。

JDOM提供了在JAVA中通过树结构访问XML文档的方法,从这个意义上来看,与DOM很类似。但是,JDOM是专门为JAVA而设计的,许多方面比DOM要直观些。JDOM与DOM不同的基本原则在于:JDOM是由具体类组成的API,这使得在JDOM中创建Document对象的代码比相应的DOM代码要简单得多。因为JDOM不需要创建DocumentBuilderFactory对象或者DocumentBuilder对象。

注意:

JDOM不是一个XML解析器,它通过生成器类来使用外部解析器。

JDOM不是DOM,也不是DOM的封装,也不提供DOM的扩展。两者在技术上没有什么联系。

6、 dom4j 和JDOM一样,是DOM文档对象模型的一种JAVA规范,仅适用于JAVA,而且不受DOM中性语言约束。http://www.dom4j.org

dom4j和JDOM的API有一部分很类似,但是两者也有区别:dom4j设计了一系列的核心接口,而JDOM是面向类的。就是说,对dom4j接口不同类型的实现,就可以提供不同类型的功能。

 

7、 JAXB Java Architecture for XML Binding 针对XML绑定的JAVA体系结构

数据绑定:本质上与DOM,JDOM和dom4j等文档对象模型API类似,定义了XML文档和JAVA对象树之间的关联关系,这里称为“绑定”。利用绑定可以根据JAVA对象树生成XML文档,也可以根据XML文档生成JAVA对象树。

8、 XQuery 类似于SQL(Structured Query Language,结构化查询语言),是一种从XML文档中提取数据的查询语言http://www.xquery.com

 

参考文献: 《Java与XML》 Brett D. McLaugblin& Justin Edelson著 江文 唐俊 刘柯 译  中国电力出版社 2011年3月 第一版

原创粉丝点击