SAX解析与DOM解析比较
来源:互联网 发布:php urlencode 符号 编辑:程序博客网 时间:2024/05/22 01:29
java库提供了两种XML解析器,一种是文档对象模型,一种是用于XML的简单API,前者将读入的XML文档转换成树结构,后者在读入XML文档时生成相应的事件。在现实使用当中,应该使用哪一种?
一般情况下,如果要处理较大的文档,用DOM形式时因生成树结构将会消耗大量内存,但是在实际运用当中,如果关心元素之间的联系时,因树形结构提供了对它们上下文的访问操作,文档对象模型应该说是首选。如果只是对文档中个别元素感兴趣,在文档较大的时候,为了减少内存开销,采用SAX解析器应该算是比较好的一种选择,它在运行时解析结点,不必看到所有的树型结构,它在解析XML输入的构件时就报告事件,但不会以任何方式存储文档,由事件处理器决定是否要建立数据结构。要在这两者之间作出选择,就在于实际情况。但是如何划分这两者之间的取舍界线呢?
对于经常提到的大文档,多大算大?对个别元素感兴趣,如果只对个别元素感兴趣,那么在项目设计当中,我想一般也不会因为个别元素的原因而专一建个XML文档中,就说可能是对用处较多的大文档偶尔对其中的个别元素感兴趣而进行特别的程序设计编码,对于在使用大文档较多的地方,想必会考虑到个别元素的特别设计,因为在此处的运用当中应该会留有对个别元素的特别访问?
java库提供的文档对象模型解析器是建立在SAX解析器的基础之上的,它在接受到SAX解析器事件时建立DOM树,运用DOM的好处我想应该是:
1.对上下文访问方向。2。对元素操作的方便性上。DOM模型较SAX的优势我想也应该是在这一方面,没有人愿意在操作大文档的时候采用SAX的烦锁操作(相对于DOM而言)。
面向对象的程序设计其一的目的就在于方便,在方便的同时不忘性能优化,有时候越是方便操作,性能就越低,方便的实现就目前看来好像是在拿性能开刀,再优化,那也是多了几个调用过程。
我应该用哪一个呢?曾经想在项目中根据自己的需求,利用SAX解析器编制适合自己的控件,但是在多人开发中显得不那么现实,早就听人说,程序员“懒”是出了名的,哪个用着方便就用哪个,dom4j想必就是程序员从周公那借来的小飞车:).
大项目经验的人士:你们好,请就这方面多多给些建议
- SAX解析与DOM解析比较
- dom解析与sax解析
- dom解析 和 sax解析的比较
- SAX与DOM解析XML
- XML解析SAX与DOM
- dom解析与sax解析的区别
- DOM解析与SAX解析的区别
- SAX解析与DOM解析的区别
- DOM解析与SAX解析对比
- SAX和DOM解析的比较
- SAX和DOM解析的比较
- Dom和sax解析的比较
- Xml文档解析工具比较 dom sax
- XMl解析之—DOM解析与SAX解析
- DOM与SAX解析xml的区别
- DOM与SAX解析xml的区别
- SAX与DOM解析XML的区别
- DOM和SAX解析
- 自动生成采购订单号
- 很有深意的12句话!
- Asp.net自定义控件
- PLSQL常用方法汇总
- Python 操作Word(Excel、PPT等通用)
- SAX解析与DOM解析比较
- 第一章 JavaScript日期时间效果--数字时间
- 安装QT for S60的问题解决
- [跟风贴]我为什么喜欢Linux
- 常用的PHP编译参数
- PHP本地时区设置
- JavaScript 条件语句
- C# winform程序中的checkedlistbox中的绑定方法
- C#中获取匹配正则表达式的字符