第七章 XML应用编程(SAX)old

第七章 XML应用编程(SAX)old

ID:44963789

大小:221.00 KB

页数:40页

时间:2019-11-06

第七章  XML应用编程(SAX)old_第1页
第七章  XML应用编程(SAX)old_第2页
第七章  XML应用编程(SAX)old_第3页
第七章  XML应用编程(SAX)old_第4页
第七章  XML应用编程(SAX)old_第5页
资源描述:

《第七章 XML应用编程(SAX)old》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《XML技术基础》主讲:蔡体健第七章XML应用编程回顾包org.w3c.dom中所定义的DOM常用接口主要有:Node接口NodeList接口Document接口Element接口Attr接口NamedNodeMap接口Text接口回顾DOM编程通常包括以下几个步骤:创建一个解析器对象;将您的XML文档传递给解析器,进行解析,产生DOM节点树对象;处理DOM节点树;保存DOM节点树。本章目标SAX接口概述SAX接口委托事件模型第一个SAX应用程序一些常用的方法与参数SAX应用编程作业SAX接口概述SAX简

2、易应用程序编写接口SimpleAPIforXML。它并不是由W3C官方所提出的标准,而是“民间”的事实标准,是一种社区性质的讨论产物。几乎所有的XML解析器都会支持它。与DOM比较,SAX是一种轻量型的处理XML文档的方法。SAX接口概述SAX具有如下主要优点:可以解析任意大小的文件适合创建自己的数据结构适合小信息子集简单快速SAX接口概述SAX也存在以下不足之处不能对文档做随机存取难以实现复杂的查询不能使用文档类型定义(DTD)不可获取词法信息SAX是只读的当前的浏览器不支持SAXSAX工作原理SAX提

3、供了一种对XML文档进行顺序访问的模式,这是一种快速读写XML数据的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活响应的事件处理函数,从而完成对XML文档的访问,所以SAX接口也称作事件驱动接口。SAX工作原理委托事件模型注册监听者:saxParser.parse(newFile("Sax_1.xml"),handler);SAX监听者接口SAXAPI实际上定义了几个监听者接口来处理事件:ContentHandler,DTDHandler,EntityResolver,Error

4、Handler,Attributes,XMLReader一个典型的SAX应用程序至少要提供一个ContentHandler接口。一个健壮的SAX应用程序还应该提供ErrorHandler接口。DefaultHandler适配器类实现了ContentHandler、DTDHandler、EntityResolver、ErrorHandler接口中的所有方法。DefaultHandlerContentHandlerDTDHandlerEntityResolverErrorHandlerAttributesXM

5、LReader监听者继承实现适配器类SAX接口startDocumentendDocumentstartElementendElement……unparsedEntityDeclresolveEntityerrorfatalErrorwarning方法监听者(事件处理器类)的设计大多数情况下,您的Java代码将继承DefaultHandler适配器类。例如:publicclasssaxOneextendsDefaultHandler{……}返回目标此类继承了适配器类,可以做监听者SAX编程一般步骤使用SA

6、X编程一般包括以下3个步骤:建立解析器对象;为SAX解析器注册监听者,使用SAX解析器解析XML文档;实现SAX事件处理器类。建立解析器对象SAXParserFactoryspf=SAXParserFactory.newInstance();spf.setNamespaceAware(true);spf.setValidating(true);SAXParserparser=spf.newSAXParser();为SAX解析器注册监听者,解析XML文档要使用SAXParser解析文档,只需调用它的pars

7、e()方法。在此必须指定parse()方法的两个实参:第一个指定了要解析的XML文档,第二个是指定处理事件的对象,这个对象的类型应为DefaultHandler适配器类。代码如下:SAX7_5handler=newSAX7_5();parser.parse(xmlFile,handler);第一个SAX应用程序importjavax.xml.parsers.*;//获取XML文档对象的包importjava.io.*;//JAVA读取文件需加载的包importorg.xml.sax.helpers.*;/

8、/包含适配器类DefaultHandlerimportorg.xml.sax.*;//SAX接口的核心publicclassSax_1{publicstaticvoidmain(Stringargs[]){try{SAXParserFactoryfactory=SAXParserFactory.newInstance();SAXParsersaxParser=factory.newSAXParser();MyHandlerha

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。