SAX解析XML文档

来源:互联网 发布:网络攻击追踪溯源 编辑:程序博客网 时间:2024/06/05 05:33

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开发编码相对复杂

0 0
原创粉丝点击