您的位置:首页 > 其它

SAX解析XML文档

2016-04-11 14:36 281 查看
SAX解析工具是由Sun公司提供的,内置在jdk中:org.xml.sax.*

核心的API:

SAXParser类: 用于读取和解析xml文件对象

parse(File f, DefaultHandler dh)方法: 解析xml文件

参数一: File:表示 读取的xml文件。

参数二: DefaultHandler: SAX事件处理程序。使用DefaultHandler的子类

例如:

1.创建SAXParser对象

SAXParser parser=SAXParserFactory.newInstance().newSAXParser();

2.调用parse方法

parser.parse(new File(“./src/contact.xml”), new MyDefaultHandler(){});

一个类继承class 类名(extends DefaultHandler)

在调用时创建传进去

DefaultHandler类的API:

void startDocument() :

在读到文档开始时调用

void endDocument() :

在读到文档结束时调用

void startElement(String uri, String localName, String qName, Attributes attributes) :

读到开始标签时调用

void endElement(String uri, String localName, String qName) :

读到结束标签时调用

void characters(char[] ch, int start, int length) :

读到文本内容时调用

========= DOM解析 vs SAX解析 ========

DOM解析

原理: 一次性加载xml文档,不适合大容量的文件读取

DOM解析可以任意进行增删改成

DOM解析任意读取任何位置的数据,甚至往回读

DOM解析面向对象的编程方法(Node,Element,Attribute),Java开发者编码比较简单。

SAX解析

原理: 加载一点,读取一点,处理一点。适合大容量文件的读取

SAX解析只能读取,不能修改删除

SAX解析只能从上往下,按顺序读取,不能往回读

SAX解析基于事件的编程方法,java开发编码相对复杂
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: