1.简介 SAX(Simple API For XML) XML简单的API
2.SAX思想:
一边解析 一边处理 一边释放内存
不允许在内存中保留大规模的XML数据
SAX逐行读取 基于事件驱动
3.优缺点:
优点:不占内存 速度快
缺点:只能读取 不能回写 只能解析 不能创建
4.用到的类 javax.xml.parsers 类 SAXParserFactory
- 常用方法:
创建工厂:
static SAXParserFactory newInstance()
获取 SAXParserFactory 的一个新实例。
获得解析器:
abstract SAXParser newSAXParser()
使用当前配置的工厂参数创建 SAXParser 的一个新实例。
5.javax.xml.parsers 类 SAXParser 可以从各种输入源解析 XML
void parse(String uri, DefaultHandler dh)
使用指定的 DefaultHandler 将给定统一资源标识符 (URI) 描述的内容解析为 XML。
6.org.xml.sax.helpers 类 DefaultHandler
- 常用方法:
void startDocument()
接收文档开始的通知。 文档开始时所调用的方法
void endDocument()
接收文档结束的通知。 文档结束时所调用的方法
void startElement(String uri, String localName, String qName,Attributes attributes)
接收元素开始的通知 标签开始时所调用的方法 qName标签名
void endElement(String uri, String localName, String qName)
接收元素结束的通知。 标签结束时所调用的方法 qName标签名
void characters(char[] ch, int start, int length)
接收元素中字符数据的通知。 标签内容
7.步骤:
(1)创建工厂
(2)创建解析器
(3)创建类继承DefaultHandler类 (MyHandler),重写五个方法
(4)调用SAXParse 中的Parse方法
8.若想将获取到的数据存入集合并输出,需要:
(1)在MyHandler 中定义一个集合
(2)创建一个实体类对象,并定义这个对象
(3)定义一个标识符,来确定标签属于哪一个
(4)对外提供Public方法获取集合
详细操作请看:
链接:https://pan.baidu.com/s/1Sy1qm62TN3gopWtPgxsqrQ 密码:a9kr