XML文档结构
- XML是一个树结构
- 文档节点
- 元素节点
- 属性节点
- 文本节点
DOM解析
DOM介绍
- DOM:Document Object Model:文档对象类型,把文档中的成员描述成一个个对象.
使用Java代码操作XML 或者 使用js代码操作HTML,这里只讲Java代码操作XML部分
DOM解析的特点
加载时一次加载整个XML文件进内存,形成一颗树(Document对象)
- 使用代码操作Document时,其实操作的是内存中的DOM树,与硬盘中的XML文件没有直接关系
- 需要同步操作将内存中的DOM树同步至硬盘中的XML文件,仅是查询操作的话无需同步
-
DOM解析步骤
1.创建解析器工厂
2.通过解析器工厂得到解析器
3.通过解析器得到document对象
4.获取具体的节点内容小知识
DOM只需记住解析特点,无需记住怎么解析、获取元素,开发中基本很少用DOM
-
Sax解析
Sax解析介绍
逐行读取,基于事件驱动
- 优点:不占内存,速度快
-
Sax解析流程
小知识
-
dom4j解析
dom4j介绍
DOM4J是dom4j.org出品的一个开源XML解析包
- dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件
- 越来越多的Java软件都在使用dom4j来读写XML,特别值得一提的是连Sun的JAXM也在用dom4j。这已经是必须使用的jar包, Hibernate也用它来读写配置文件。