XML文档的操作以及解析器的基本介绍
2018-03-07 09:24
267 查看
操作XML文档概述
[b]1 如何操作XML文档[/b]XML文档也是数据的一种,对数据的操作也不外乎是“增删改查”。也被大家称之为“CRUD”。
l C:Create;
l R:Retrieve;
l U:Update;
l D:Delete
[b]2.XML解析技术[/b]XML解析方式分为两种:DOM(Document Object Model)和SAX(Simple API for XML)。这两种方式不是针对Java语言来解析XML的技术,而是跨语言的解析方式。例如DOM还在Javascript中存在!
DOM是W3C组织提供的解析XML文档的标准接口,而SAX是社区讨论的产物,是一种事实上的标准。
DOM和SAX只是定义了一些接口,以及某些接口的缺省实现,而这个缺省实现只是用空方法来实现接口。一个应用程序如果需要DOM或SAX来访问XML文档,还需要一个实现了DOM或SAX的解析器,也就是说这个解析器需要实现DOM或SAX中定义的接口。提供DOM或SAX中定义的功能。
解析原理
[b]1DOM解析原理[/b]使用DOM要求解析器把整个XML文档装载到一个Document对象中。Document对象包含文档元素,即根元素,根元素包含N多个子元素…
一个XML文档解析后对应一个Document对象,这说明使用DOM解析XML文档方便使用,因为元素与元素之间还保存着结构关系。
优先:使用DOM,XML文档的结构在内存中依然清晰。元素与元素之间的关系保留了下来!
缺点:如果XML文档过大,那么把整个XML文档装载进内存,可能会出现内存溢出的现象!
[b]2 设置Java最大内存[/b]运行Java程序,指定初始内存大小,以及最大内存大小。
java -Xms20m -Xmx100m MyClass
[b]3 SAX解析原理[/b]DOM会一行一行的读取XML文档,最终会把XML文档所有数据存放到Document对象中。SAX也是一行一行的读取XML文档,但是当XML文档读取结束后,SAX不会保存任何数据,同时整个解析XML文档的工作也就结束了。
但是,SAX在读取一行XML文档数据后,就会给感兴趣的用户一个通知!例如当SAX读取到一个元素的开始时,会通知用户当前解析到一个元素的开始标签。而用户可以在整个解析的过程中完成自己的业务逻辑,当SAX解析结束,不会保存任何XML文档的数据。
优先:使用SAX,不会占用大量内存来保存XML文档数据,效率也高。
缺点:当解析到一个元素时,上一个元素的信息已经丢弃,也就是说没有保存元素与元素之间的结构关系,这也大大限制了SAX的使用范围。如果只是想查询XML文档中的数据,那么使用SAX是最佳选择!
解析器概述
[b]1 什么是XML解析器[/b]DOM、SAX都是一组解析XML文档的规范,其实就是接口,这说明需要有实现者能使用,而解析器就是对DOM、SAX的实现了。一般解析器都会实现DOM、SAX两个规范!
l Crimson(sun):JDK1.4之前,Java使用的解析器。性能效差,可以忘记它了!
l Xerces(IBM):IBM开发的DOM、SAX解析器,现在已经由Apache基金会维护。是当前最为流行的解析器之一!在1.5之后,已经添加到JDK之中,也是JAXP的默认使用解析器,但不过在JDK中的包名与Xerces不太一样。例如:org.apache.xerces包名改为了com.sun.org.apache.xerces.internal包名,也就是说JDK1.5中的Xerces是被包装后的XML解析器,但二者区别很小。
l Aelfred2(dom4j):DOM4J默认解析器,当DOM4J找不到解析器时会使用他自己的解析器。
相关文章推荐
- Android 联系人数据库介绍以及对联系人的基本操作
- C#基础知识-XML介绍及基本操作
- Android 联系人数据库介绍以及对联系人的基本操作
- C#基础知识-XML介绍及基本操作(十)
- Android 联系人数据库介绍以及对联系人的基本操作
- C#基础知识-XML介绍及基本操作
- Hive的安装以及基本的shell操作以及基本模型的介绍
- 用vc6操作xml以及xmldom的简单介绍
- php操作xml入门之xml基本介绍及xml标签元素
- 使用dom4j解析xml文档以及用XPath实现相关的操作
- 操作xml|json|以及框架的简单介绍
- XML 文档的基本操作
- 关于XML文档的基本操作
- boost::xml——基本操作以及中文乱码解决方案
- Android 联系人数据库介绍以及对联系人的基本操作
- jaxp解析器用dom方式操作xml文档的总结
- Linux运维笔记-文档总结-FTP介绍,安装,以及匿名用户和本地用户的操作
- mysql数据库相关介绍以及一些基本操作
- net9:磁盘目录文件保存到XML文档及其XML文档的读写操作,以及绑定XML到treeview
- Android 联系人数据库介绍以及对联系人的基本操作