SAX和Dom

原创 2008年09月30日 10:43:00

首先要明确一个概念,SAX和dom(w3c)是标准的xmlapi接口,而各个语言必须实现接口,但具体的实现又不同。
xml解析器:有Dom型和SAX型的xml解析器,即将解析后的xml文件以树状或事件的形式提供
java实现的Dom接口(javax.xml.parsers用来寻找符合DOM标准的XML API实现类的位置,org.w3c.dom)->解析器的Dom实现->SAX型的xml解析器或者Dom型的解析器。(jaxp)

而由于dom标准的Api的难用,开发的适合java的apijdom和dom4j,其不再有可移植性。jdom应用用程序 -> jdomAPI -> Xerces/Crimson解析器

java提供
dom(org.w3c.dom),sax(org.xml.sax)同时添加java.xml.parsers等包(主要通过工厂类调用不同的解析器)
解析器提供这些接口的实现。比如实现dom中定义的text接口,java中定义text抽象类,解析器textIMP类继承text。比如xerces解析器就包括dom2,dom3,jaxp等接口的实现
dom,sax是标准,java在创建这些接口之后,又添加了一些接口,相当于附加了一些java的标准,作为用于java的解析器必须在实现dom和sax的同时实现java附加的接口。
sax调用解析器的saxparser进行解析,dom调用解析器的domparser进行解析。
sax中的attributes在解析器中变为xmlattributes,然后是xmlAttributesImpl对xmlattributes实现
Dom:
DocumentBuilder db=factory.newDocumentBuilder();
Document xmldoc=db.parse(new File("Test1.xml"));相当于解析器中的domparser.parse(),返回的是  

                                                Documnet的子类DocumnetImpl
  root=xmldoc.getDocumentElement();
           
Sax:
xmlReader.parser();相当于saxparser.parser();然后激活默认的DefaultXMLDocumentHandler


而jdom和dom4j并不是基于dom实现的。其提供的接口要比dom丰富易用,但可移植性收限。

DOM解析和SAX解析的区别

本文为转载,内容基本不变,格式用Markdown重排。 原文地址:DOM解析和SAX解析的区别 NO 区别 DOM解析 SAX解析 1 操作 将所有文件读取到内存中形成D...
  • hbwindy
  • hbwindy
  • 2016年05月11日 21:31
  • 3033

利用Dom,Sax,Pull三种方式解析xml文件

最近找工作,看到许多公司的要求里都写了要会xml解析,所以就把之前的xml解析知识又重新回顾了一下,写个小例子. 解析xml文件常用的几种方式也就dom,sax,pull了,并且面试官经常问到的也是这...
  • qiang_xi
  • qiang_xi
  • 2015年11月29日 20:15
  • 1213

sax、dom、jdom的优缺点和区别

---- sax, dom, jdom技术的优缺点比较 SAX分析器在对XML文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对XML文档的访问。由于事件触发本身是有时序性的,因此...
  • a519781181
  • a519781181
  • 2016年07月29日 10:20
  • 552

DOM&SAX优缺点对比

DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,然后代码就可以使用DOM接口来操组整个树结构,其他点如下: 优点:整个文档树都在内存当...
  • hemeng2009
  • hemeng2009
  • 2014年10月15日 16:26
  • 589

SAX解析与DOM解析的区别

1.SAX解析(Simple API for XML) SAX解析方式:逐行扫描文档,一遍扫描一遍解析。相比于DOM,SAX可以在解析文档的任意时刻停止解析解析,是一种速度更快,更高效的方法。 优点:...
  • sinat_27170093
  • sinat_27170093
  • 2017年01月07日 13:50
  • 1096

dom解析和sax解析

解析xml有四种方法:DOM,SAX,DOM4j,JDOM.      我们主要学了两种:DOM和SAX.      DOM适于解析比较简单的XML而SAX则适于解析较复杂的XML文件。各有各的好...
  • u011467537
  • u011467537
  • 2014年10月25日 08:22
  • 1312

sax和dom在解析xml文档时有什么区别

当你需要处理XML文档时,你的首要选择是使用DOM(文档对象模型)还是使用SAX(用于XML的简单API),即当前使用的两个主要的XML API。你可以使用任何一种(或者在同一时间使用两种)来处理XM...
  • zhupengqq
  • zhupengqq
  • 2016年04月18日 18:31
  • 1290

XML之四种解析dom,sax,jdom,dom4j原理及性能比较

XML:四种解析器(dom,sax,jdom,dom4j)原理及性能比较   dom是解析xml的底层接口之一(另一种是sax).而jdom和dom4j则是基于底层api的更高级封装。dom是通...
  • qq_35370485
  • qq_35370485
  • 2017年05月24日 08:56
  • 871

xml的解析DOM,SAX,DOM4J

Dom和sax解析区别: 1.dom:(Document Object Model,文档对象模型) W3C组织推荐的一种处理方式  sax:(Simple API for XML)不是官方标准,但...
  • wd916913
  • wd916913
  • 2012年10月19日 00:20
  • 3417

浅析SAX,DOM,JAXP,JDOM与DOM4J之间的关系

众所周知,SAX与DOM是JAVA中两大核心XML解析API类库,今日兴起看了看相关资料,在这里总结总结。   首先登场的是SAX,SAX是Simple API for XML的简称。另外SAX只...
  • xiongqi215
  • xiongqi215
  • 2013年08月21日 23:10
  • 2386
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SAX和Dom
举报原因:
原因补充:

(最多只允许输入30个字)