XML解析
1.XML解析方式有两种:
①:dom(Document Object Model)文档对象模型,是W3C组织推荐解析XML的一种方式
②:sax(Simple API For XML),它是XML社区的标准,几乎所有XML解析器都支持它!
2.XML解析操作:
从图中可以看出XML应用程序不是直接解析XML文件的,而是先由XML解析器解析,再通过解析器提供的DOM和SAX接口读取XML文件的内容,从而间接实现了对XML文件的访问。
3.常用的解析器和对应的jar包:
-
jaxp开发包是JDK自带的,不需要导入开发包。
-
由于sun公司的jaxp不够完善,于是就被研发了Jdom。XML解析如果使用Jdom,需要导入开发包
-
dom4j是由于Jdom的开发人员出现了分歧,dom4j由Jdom的一批开发人员所研发。XML解析如果使用Jdom,需要导入开发包【现在用dom4j是最多的!】
4.DOM和SAX的区别:
DOM读取XML文档,在内存中生成DOM树,很方便对XML文档进行CRUD增删改查操作,但是文档过大,会造成内存溢出。
SAX解析采用部分读取的方式,可以处理大型文件,但只能对文件按顺序从头到尾解析一遍,不支持文件的增删改操作。
读取用DOM,增删改用SAX。
这时候就要用到dom4j了!
5.为什么要使用dom4j?
-
dom缺点:比较耗费内存
-
sax缺点:只能对xml文件进行读取,不能修改,添加,删除
-
dom4j:既可以提高效率,同时也可以进行crud操作