Javaweb基础入门(八)之XML解析(SAX)

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

扫描二维码关注公众号,回复: 3024697 查看本文章

猜你喜欢

转载自blog.csdn.net/xueer_z/article/details/82055306