XML:XML解析的两种方式比较DOM与Sax

什么是XML解析

可扩展的标记语言
用来解决数据传输的格式问题

XML的解析标准和用法

解析标准:
DOM W3C官方的标准
Sax XML社区标准
用法:
从xml数据中提取需要的内容
将数据转换成xml格式

XML的数据类型

标签 属性 文本
整个XML文档是一个 Documnet对象
标签是一个 Element对象
属性是一个 Attr 对象
文本是一个 Text对象

XML数据的标准格式

xml必须包含头声明
有且只有一对根标签
标签的开始和结束必须一样,包括大小写
内容
如果标签中不包含子元素,就可以写成单标签

DOM和Sax的基本思想和优缺点

DOM的基本思想:
将整个XML数据转换成一个树形对象[Document对象]
将XML中的标签,属性,文本都作为一个结点对象
在解析XML的时候,先将整个xml一次性读入到内存中,
封装成树对象
再对树上的结点进行操作[增删改查]
Sax的基本思想:
顺序解析,事件驱动
一边读取数据,一边进行解析,在读取数据的时候会触发一定的事件,每触发一次,就可以做一次处理
DOM方式解析的优点:
由于所有的结点都在内存的Document对象中,支持随机访问
DOM方式解析的缺点:
由于所有的数据是一次性读入到内存中的,对于比较大的xml数据,非常占内存
Sax方式解析的优点:
由于每次值需要存放触发事件的位置,占用内存较少
Sax方式解析的缺点:
不支持随机访问

DOM解析方法

XML:XML解析的两种方式比较DOM与SaxXML:XML解析的两种方式比较DOM与Sax

输出结果:

XML:XML解析的两种方式比较DOM与Sax

DOM的增删改查

XML:XML解析的两种方式比较DOM与SaxXML:XML解析的两种方式比较DOM与Sax

Sax解析方法

XML:XML解析的两种方式比较DOM与Sax

创建一个学生类

XML:XML解析的两种方式比较DOM与Sax

Sax解析并写入数组中输出

XML:XML解析的两种方式比较DOM与Sax
XML:XML解析的两种方式比较DOM与Sax

输出结果:

XML:XML解析的两种方式比较DOM与Sax