XML文档解析技术
2010-12-01 10:47
183 查看
今天学习的是关于XML的文档解析技术,其主要API分为:DOM(一种基于树结构的API)和DOM(一种基于事件驱动的API)。
二者的区别本质区别其实是二者对于XML文档的读取方式。DOM是把XML文档整个读取,以树结构在内存中表示。而SAX只是根据一定的条件部分读取XML文档的一部分。所以这就造成了二者的区别,DOM能对XML进行从结构上的修改,而且相对SAX来说他对XML文档的整体遍历更灵活方便,但是相应的因为是整体读取XML文档,其占用的内存空间更大,消耗内存资源。所以就有了SAX,他是部分读取XML文档,如果我们只是期望对XML进行部分操作时用的就是SAX。
基于以上两套API,我们常用XML解析器包就有了JAXP,JDOM,DOM4J。其中JAXP是Java API for XML ,但其效能低下,一般不做使用。JDOM是对SAX和DOM进行整合,进行一定优化,在高效简单的基础上进一步弥补DOM和SAX在实际应用中的不足,虽然其本身操作简单,但是在处理大文档时性能表现不佳。所以现在常用的是DOM4J,他是一个开源易用的库,支持XML,XPath和XSLT。采用了Java集合框架并完全支持DOM,SAX和JAXP,本身提供大量的接口,所以很灵活。
二者的区别本质区别其实是二者对于XML文档的读取方式。DOM是把XML文档整个读取,以树结构在内存中表示。而SAX只是根据一定的条件部分读取XML文档的一部分。所以这就造成了二者的区别,DOM能对XML进行从结构上的修改,而且相对SAX来说他对XML文档的整体遍历更灵活方便,但是相应的因为是整体读取XML文档,其占用的内存空间更大,消耗内存资源。所以就有了SAX,他是部分读取XML文档,如果我们只是期望对XML进行部分操作时用的就是SAX。
基于以上两套API,我们常用XML解析器包就有了JAXP,JDOM,DOM4J。其中JAXP是Java API for XML ,但其效能低下,一般不做使用。JDOM是对SAX和DOM进行整合,进行一定优化,在高效简单的基础上进一步弥补DOM和SAX在实际应用中的不足,虽然其本身操作简单,但是在处理大文档时性能表现不佳。所以现在常用的是DOM4J,他是一个开源易用的库,支持XML,XPath和XSLT。采用了Java集合框架并完全支持DOM,SAX和JAXP,本身提供大量的接口,所以很灵活。
相关文章推荐
- 【XML解析】(2)利用DOM解析技术对XML文档进行增删改查操作
- 使用SAX技术对XML文档进行解析范例
- 使用SAX技术对XML文档进行解析范例
- 有效的XML文档以及解析技术
- 【XML解析】(3)利用DOM解析技术在XML文档下实现一个《通讯录管理系统》
- 使用DOM技术来对XML文档进行解析范例
- js技术实现html页面解析xml文档的级联下拉列表操作
- 使用DOM技术来对XML文档进行解析范例
- xml解析技术概述和使用Jaxp对xml文档进行dom解析
- Java核心技术II:解析XML文档
- XML解析技术和使用Jaxp对xml文档进行dom解析
- 利用Ajax技术解析XML文档
- Java中XML文档解析技术:性能比较
- XML文档解析---SAX和StAX解析技术
- Java对XML文档进行解析(SAX、StAX解析)
- Java对XML文档进行解析---实例
- java--DOM4j-SAXReader对xml文档的解析2
- XML-解析技术续(dom4j解析)
- 使用Go解析超大XML文档
- XMLParser解析自定义的xml文档