Java SAX解析器-概述
时间:2020-07-24 10:33来源:电脑教程学习网 www.etwiki.cn 编辑:小山哥
SAX(XML的简单API)是XML文档的基于事件的解析器。与DOM解析器不同,SAX解析器不创建任何解析树。SAX是XML的流接口,这意味着使用SAX的应用程序从文档的顶部开始,以顺序的顺序接收到有关正在处理的XML文档的事件通知的元素和属性,并以关闭文档的结尾结束。根元素。
-
从上至下读取XML文档,识别组成格式正确的XML文档的标记。
-
令牌的处理顺序与它们在文档中出现的顺序相同。
-
向应用程序报告解析器在发生标记时遇到的标记的性质。
-
应用程序提供了一个“事件”处理程序,该处理程序必须在解析器中注册。
-
标识令牌后,将使用相关信息来调用处理程序中的回调方法。
什么时候使用?
您应该在以下情况下使用SAX解析器:
SAX的缺点
ContentHandler接口
此接口指定SAX解析器用来将已经看到的XML文档的组件通知应用程序的回调方法。
-
void startDocument() -在文档的开头调用。
-
void endDocument() -在文档末尾调用。
-
void startElement(String uri,String localName,String qName,Attributes Atts) -在元素的开头调用。
-
void endElement(String uri,String localName,String qName) -在元素末尾调用。
-
无效字符(char [] ch,int开头,int长度) -遇到字符数据时调用。
-
void ignorableWhitespace(char [] ch,int start,int length) -存在DTD且遇到可忽略的空白时调用。
-
void processingInstruction(String target,String data) -识别到处理指令时调用。
-
setDocumentLocator(Locator locator)) -提供一个可以用来识别文档中位置的Locator。
-
void skippedEntity(String name) -遇到未解决的实体时调用。
-
void startPrefixMapping(String prefix,String uri) -定义新的名称空间映射时调用。
-
void endPrefixMapping(String prefix) -在名称空间定义结束其范围时调用。
属性界面
此接口指定用于处理连接到元素的属性的方法。
-
int getLength() -返回属性数。
-
字符串getQName(int index)
-
字符串getValue(int索引)
-
字符串getValue(字符串qname)
|
------分隔线----------------------------
标签(Tag):
------分隔线----------------------------