在JDK 6.0中基于StAX分析XML数据
来源:百度文库 编辑:神马文学网 时间:2024/04/23 19:32:23
J2EE/XML开发者通常都是使用文档对象模型(DOM)API或简单的API for XML(SAX) API来分析XML文档。然而,这些API都有其缺点。其中,DOM API的缺点之一是消耗大量的内存,因为在该XML文档可以被导航之前,必须创建一个完整的XML文档的内存结构。而SAX API的缺点在于,它实例了一种推分析模型API,其中分析事件是由分析器生成的。比较之下,StAX则是基于一种拉分析模型。在本文中,你将首先创建你自己的XML文档,然后学习使用各种不同方法来对之进行分析;最后,我们使用事件生成的StAX拉方法。
一、 推分析之于拉分析
比较于推分析,拉分析具有如下一些优点:
1. 在拉分析中,事件是由分析应用程序生成的,因此把分析规则提供到客户端而不是分析器。
2. 拉分析的代码更简单并且它比推分析有更少的库。
3. 拉分析客户端能同时读多个XML文档。
4. 拉分析允许你过滤XML文档并且跳过分析事件。
二、 了解StAX
针对于XML的流式API(StAX),是在2004年3月的JSR 173规范中引入,这是一种针对XML的流式拉分析API。StAX是JDK 6.0提供的一种新特征,你可以从此处下载它的测试版本试用。
一个推模型分析器不断地生成事件,直到XML文档被完全分析结束。但是,拉分析由应用程序进行调整;因此,分析事件是由应用程序生成的。这意味着,使用StaX,你可以推迟分析-在分析时跳过元素并且分析多个文档。在使用DOM API的时候,你必须把整个的XML文档分析成一棵DOM结构,这样也就降低了分析效率。而借助于StAX,在分析XML文档时生成分析事件。有关于StAX分析器与其它分析器的比较在此不多介绍。
StAX API的实现是使用了Java Web服务开发(JWSDP)1.6,并结合了Sun Java流式XML分析器(SJSXP)-它位于javax.xml.stream包中。XMLStreamReader接口用于分析一个XML文档,而XMLStreamWriter接口用于生成一个XML文档。XMLEventReader负责使用一个对象事件迭代子分析XML事件-这与XMLStreamReader所使用的光标机制形成对照。本教程将基于JDK 6.0中的StAX实现来完成对一个XML文档的分析。
其实,StaX仅仅是JDK 6.0所提供的XML新特征之一。新的JDK 6.0还提供了对针对于XML-Web服务的Java架构(JAX-WS)2.0,针对于XML绑定的Java API(JAXB) 2.0,XML数字签名API的支持,甚至还支持SQL:2003 ‘XML‘数据类型。
三、 初步安装
如果你正在使用JDK 6.0,那么默认情况下,StAX API位于Classpath中。如果你在使用JWSDP 1.6,请把JWSDP 1.6 StAX API添加到classpath中。这需要把\sjsxp\lib\ jsr173_api.jar和\sjsxp\lib\sjsxp.jar添加到CLASSPATH变量中。在目录下安装JWSDP 1.6。Jsr173_api.jar相应于JSR-173 API JAR,Sjsxp.jar相应于SJXSP实现JAR。
作者的其他文章EJB 3.0是Hibernate的克隆吗?在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据Java SE 6中的AWT模态增强功能Java SE 6中的AWT模态增强功能Java SE 6在Solaris的可观察性特征分析Java SE 6在Solaris的可观察性特征分析Java SE 6在Solaris的可观察性特征分析实例分析Java SE 6.0新增功能
more..
其他相关文章在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据
一、 推分析之于拉分析
比较于推分析,拉分析具有如下一些优点:
1. 在拉分析中,事件是由分析应用程序生成的,因此把分析规则提供到客户端而不是分析器。
2. 拉分析的代码更简单并且它比推分析有更少的库。
3. 拉分析客户端能同时读多个XML文档。
4. 拉分析允许你过滤XML文档并且跳过分析事件。
二、 了解StAX
针对于XML的流式API(StAX),是在2004年3月的JSR 173规范中引入,这是一种针对XML的流式拉分析API。StAX是JDK 6.0提供的一种新特征,你可以从此处下载它的测试版本试用。
一个推模型分析器不断地生成事件,直到XML文档被完全分析结束。但是,拉分析由应用程序进行调整;因此,分析事件是由应用程序生成的。这意味着,使用StaX,你可以推迟分析-在分析时跳过元素并且分析多个文档。在使用DOM API的时候,你必须把整个的XML文档分析成一棵DOM结构,这样也就降低了分析效率。而借助于StAX,在分析XML文档时生成分析事件。有关于StAX分析器与其它分析器的比较在此不多介绍。
StAX API的实现是使用了Java Web服务开发(JWSDP)1.6,并结合了Sun Java流式XML分析器(SJSXP)-它位于javax.xml.stream包中。XMLStreamReader接口用于分析一个XML文档,而XMLStreamWriter接口用于生成一个XML文档。XMLEventReader负责使用一个对象事件迭代子分析XML事件-这与XMLStreamReader所使用的光标机制形成对照。本教程将基于JDK 6.0中的StAX实现来完成对一个XML文档的分析。
其实,StaX仅仅是JDK 6.0所提供的XML新特征之一。新的JDK 6.0还提供了对针对于XML-Web服务的Java架构(JAX-WS)2.0,针对于XML绑定的Java API(JAXB) 2.0,XML数字签名API的支持,甚至还支持SQL:2003 ‘XML‘数据类型。
三、 初步安装
如果你正在使用JDK 6.0,那么默认情况下,StAX API位于Classpath中。如果你在使用JWSDP 1.6,请把JWSDP 1.6 StAX API添加到classpath中。这需要把
作者的其他文章EJB 3.0是Hibernate的克隆吗?在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据Java SE 6中的AWT模态增强功能Java SE 6中的AWT模态增强功能Java SE 6在Solaris的可观察性特征分析Java SE 6在Solaris的可观察性特征分析Java SE 6在Solaris的可观察性特征分析实例分析Java SE 6.0新增功能
more..
其他相关文章在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据在JDK 6.0中基于StAX分析XML数据
在JDK 6.0中基于StAX分析XML数据
在JDK 6.0中基于StAX分析XML数据
基于XML的数据库总体分析
XML.com: An Introduction to StAX
在 Ubuntu 中安装 JDK 6
在JSP开发中使用jdom解析临时存放数据的XML文件
asp取动态表单中数据并写入xml文件
asp取动态表单中数据并写入xml文
【教育管理5】 采取基于数据分析的行动!
利用XMLBuddy在Eclipse中开发XML
Builder.com.cn - 编程 - 在Spring中使用JDK Timer进行任务...
Web2.0: 基于XML和Java标准的集成技术---下注在技术更替的关键时刻
鞍钢中报数据分析对比
如何分析销售中各种数据
如何分析销售中各种数据
如何分析销售中各种数据
服务端中一些数据的分析
Excel2007中数据分析功能详解
鞍钢中报数据分析对比
.NET 框架中的 XML:在 .NET 框架中使用 XML 架构执行代码生成(2)
.NET 框架中的 XML:在 .NET 框架中使用 XML 架构执行代码生成(3)
.NET 框架中的 XML:在 .NET 框架中使用 XML 架构执行代码生成(2)
在spring mvc框架中显示xml视图
Java 中的 XML: 数据绑定