XML解析

Posted xc-chejj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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操作

 

以上是关于XML解析的主要内容,如果未能解决你的问题,请参考以下文章

XML解析

XML解析——Java中XML的四种解析方式

JavaSE XML解析技术的使用详解

groovy怎么解析xml文件

XML 解析---dom解析和sax解析

Java DocumentBuilderFactory(javax.xml)通过XPath解析xml文件