按我的理解,SAX是在对xml文件的扫描过程中(实际应该和读取一个普通文件类似)遇到特征字符串(<,</ 等等)就产生相应的回调函数,扫描完成后对系统的资源就不再有要求,而DOM是在内存中将XML的结构创建了相当复杂的数据库,用户的各种查询都很方便,但是占用资源很大,我在PII200(32M内存)上跑java(XML解析),SAX可以跑3个以上,DOM2个进程就快要死机了,而且速度慢得多。
解决方案 »
- java ocjp的一道题目 不懂啊
- javax.transaction.RollbackException 有没人知道为什么会发生这异常
- 无法新建flex j2ee技术
- 如何在JFreeChart中加入背景图片
- java 日期推算
- Jasperreport + iReport 做报表时,怎么在一张表装两个列表?
- 第一次碰struts,编译报错UserForm.java:2: package org.apache.struts.action does not exist
- jb编写FTP遇到的问题
- 如何整合现有的几个j2ee系统
- 创建SessionFactory异常
- 那位老大能提供EJB2的教程。
- 谁买了电子工业出版社的《精通EJB》这本书??想问一下写得怎么样????????
SAX解析器并没有完全解析XML文档,只有当需要解析相应Tag的属性等数据时才处理。
而DOM解析器在内存里已经完全建立了树型结构,所以代价比较大!至于是不是通过SAX来建立树型结构,我想依赖设计者的具体实现了!
而DOM对资源要求就很高。一般情况下,大文件的而且不经常修改的xml文件一般建议采用sax
而小文件要经常修改的用dom。现在我碰到的问题是文件很大,而且经常修改,不知采取那一种好
,那位遇到过这种情况,推荐一下。