3.xml的解析
1.xml的解析原理简介(xml是标记型文档)
(1)js使用dom解析标记型文档(html)?
- 根据html的层级结构,在内存中分配一个树形结构,把html的标签,属性和文本都封装成对象
- document对象、element对象、属性对象、文本对象、Node节点对象
(2)xml的解析方式(技术):dom和sax
a.dom方式解析:
- 根据xml的层级结构在内存中分配一个树形结构,把xml的标签,属性和文本都封装成对象
缺点:如果文件过大(分配的对象过多),会造成内存溢出
优点:很方便实现增删改操作
b.sax方式解析
- 采用时间驱动,边读边写(从上到下,一行一行解析,解析到一个对象就返回一个对象名称)
缺点:不能实现增删改操作
优点:如果文件过大,不会造成内存溢出,方便实现查询操作
(3)分析图片
(4)解析器---想要解析xml,首先需要解析器
不同的公司和组织提供了针对dom和sax方式的解析器,通过api方式提供
sun公司 jaxp
dom4j dom4j(推荐使用--实际开发)
jdom jdom
2.jaxp的api的查看(java)
jaxp是javase的一部分
jaxp解析器在jdk的javax。xml.parsers包里面
在java中有四个类分别是针对dom和sax解析器使用的类
dom:
DocumentBuilder:解析器类(抽象类)
此类的实例可以从DocumentBuilderFactory.newDocumentBuilder()方法获得
DocumentBuilderFactory:解析器工厂(抽象类)
使用newInstance()方法获取DocumentBuliderFactory实例
sax:
SAXParser:解析器类
SAXParserFactory:解析器工厂