Javasax解析器

简介:   Javasax解析器,SAX(针对XML的简单API)是基于事件为XML文档的解析器。不像DOM解析器,SAX解析器创建没有解析树。SAX是一个流接口用于XML的,这意味着使用SAX应用接收事件通知有关XML文档被处理的元素,属性,在按顺序每次开始在文档的顶部,并与所述闭合结束根元素。

  Javasax解析器,SAX(针对XML的简单API)是基于事件为XML文档的解析器。不像DOM解析器,SAX解析器创建没有解析树。SAX是一个流接口用于XML的,这意味着使用SAX应用接收事件通知有关XML文档被处理的元素,属性,在按顺序每次开始在文档的顶部,并与所述闭合结束根元素。

  读取XML文件从上到下,构成一个结构完整的XML文档的标记

  令牌以相同的顺序进行处理,它们出现在文档中

  报告应用程序,因为它们所出现解析器遇到标记的特性

  应用程序提供了必须的解析器注册的“事件”处理程序

  作为标记标识,在处理程序回调方法相关信息调用

  什么时候使用?

  应该使用SAX解析器的时候:

  可以在XML文档从上往下处理以线性方式

  该文件并不深层次嵌套

  处理一个非常大的XML文档,DOM树会占用太多的内存。典型DOM的实现使用10字节的存储器以表示XML的一个字节

  解决的问题涉及的XML文档的一部分

  数据是可用的,只要它是由解析器看出,这样的SAX可以很好地用于到达流的XML文档

  SAX的缺点

  它是在一个只进入处理随机访问方式XML文档

  如果需要跟踪的数据分析器已经看到或更改项目的顺序,必须自已编写代码和数据存储

  ContentHandler接口

  此接口指定SAX解析器用来通知XML文档,已经看到部件应用程序的回调方法。

  voidstartDocument()-调用在一个文件的开头。

  voidendDocument()-调用在一个文件的末尾。

  voidstartElement(Stringuri,StringlocalName,StringqName,Attributesatts)-调用在一个元素的开头。

  voidendElement(Stringuri,StringlocalName,StringqName)-调用在一个元件的末端。

  voidcharacters(char[]ch,intstart,intlength)-字符数据出现时调用。

  voidignorableWhitespace(char[]ch,intstart,intlength)-当DTD是当前和忽略空白遇到时调用。

  voidprocessingInstruction(Stringtarget,Stringdata)-当处理指令的认可时调用。

  voidsetDocumentLocator(Locatorlocator))-提供可用于识别文档中的位置的定位器。

  voidskippedEntity(Stringname)-一个尚未解决实体遇到时调用。

  voidstartPrefixMapping(Stringprefix,Stringuri)-当一个新的命名空间的映射定义调用。

  voidendPrefixMapping(Stringprefix)-当一个命名空间定义结束其范围时调用。

  属性接口

  这种接口指定用于处理连接到一个元素的属性的方法。

  intgetLength()-返回属性的数目。

  StringgetQName(intindex)

  StringgetValue(intindex)

  StringgetValue(Stringqname)

  

相关文章
|
9月前
|
XML JavaScript Java
【Java】Java核心 76:XML解析 Dom4j (下)
3 使用xpath技术结合DOM4J技术读取xml文件(了解) 1.概念介绍 问题:通过上面的案例我们发现有个小问题.就是获取标签的过程太过繁琐。我们需要一层一层的去获取。假设xml嵌套了50层的话,对于我们开发者来说是非常繁琐的。所以我们希望应该有这样的技术,一下子直接就能获取我们所需要的标签对象。这就是我们接下来需要学习的xpath技术。
|
9月前
|
XML 存储 JavaScript
【Java】Java核心 75:XML解析 Dom4j (上)
1 XML解析 1.1 解析概述 当将数据存储在XML后,我们就希望通过程序获取XML的内容。我们使用Java基础所学的IO知识是可以完成的,不过需要非常繁琐的操作才可以完成,且开发中会遇到不同问题(只读、读写)。 人们为不同问题提供不同的解析方式,使用不同的解析器进行解析,方便开发人员操作XML。
|
XML JavaScript Java
这是用Java进行XML解析的最佳库
这是用Java进行XML解析的最佳库
134 0
|
Oracle Java 关系型数据库
Java对象与Java类(下)
Java对象与Java类(下)
940 0
Java对象与Java类(下)
|
XML JavaScript 安全
Java解析XML(DOM解析和SAX解析)
Java解析XML(DOM解析和SAX解析)
659 0
Java解析XML(DOM解析和SAX解析)
|
Java
java 常用工具类 (值得收藏)
java 常用工具类 (值得收藏)
261 0
|
Java
【总结收藏】JAVA文件读取常用工具类
【总结收藏】JAVA文件读取常用工具类
380 0
|
XML Java 数据格式
java之DocumentBuilderFactory解析xml(2)
java之DocumentBuilderFactory解析xml(2)
229 0
|
Java
java 常用工具类
java 常用工具类
120 0