- 1
- 0
- 约1.08万字
- 约 12页
- 2017-01-06 发布于江西
- 举报
SAX,DOM,JDOM,DOM4J的比较第一:首先介绍一下SAX,DOM,JAXP,JDOM,DOM4J的基本知识: 1
1.1、sax、dom是两种对xml文档进行分析的方法 1
1.2、jaxp是api,他封装了sax\dom两种接口 1
1.3、xerces解释器(号称地球上最快的xml解释器) 2
1.4、什么时候可以用别的解释器 比如crimson呢 2
第二:再介绍一下,dom,sax,jdom,dom4j的技术特点: 2
2.1)DOM(JAXP Crimson解析器) 2
2.2)SAX 3
2.3)JDOM????/ 3
2.4)DOM4J 4
2.5)三者比较 4
第三、四种xml操作方式的基本使用方法 4
1)DOM 例子代码 5
dom运行结果 6
2)SAX ??例子代码 7
sax运行结果: 8
3)JDOM 例子代码 9
jdom运行结果为: 10
4)DOM4J 例子代码 10
Dom4j运行结果为: 11
第一:首先介绍一下SAX,DOM,JAXP,JDOM,DOM4J的基本知识:(注意:至于 JAXP |?? JAXB |?? JAXM |?? JAXR |?? JAX-RPC 分别指什么,查看/staticcontent/html/xml/faq/#jaxr_)
1、sax、dom是两种对xml文档进行分析的方法(没有具体的实现,只有接口)所以不是解释器,如果光有他们,你是完成不了对xml文档的处理的。sax的包是org.xml.saxdom的包是org.w3c.dom包的名称很重要,它有助于你理解他们之间的关系。
2、jaxp是api,他封装了sax\dom两种接口。并在sax\dom的基础之上,作了一套比较简单的api以供开发人员使用。jaxp的包是javax.xml.parsers可以看看jaxp的源文件,它的文件中包含了对sax或者dom的引用(import)jaxp也不是具体的实现,他只是一套api。如果你仅仅有jaxp那是无法工作的(其实jaxp只是完成对sax、dom的包装,生成了DocumentBuilderFactory\DocumentBuilder和SAXParserFactory SAXParser。也就是设计模式中的工厂模式,他的好处就是具体的对象( 解释器)建立由子类完成)
3、xerces解释器(号称地球上最快的xml解释器)在xerces中对jaxp中定义的SAXParser SAXParserFactory DocumentBuilder DocumentBuilderFactory进行了继承(extends)对应SAXParserImpl SAXParserFactoryImpl DocumentBuilderImpl DocumentBuilderFactoryImpl这就是为什么你的classpath中只要有xerces.jar(其中包含了sax dom jaxp )和 xercesImpl.jar就可以的原因了.
4、什么时候可以用别的解释器 比如crimson呢他也是和xerces一样 是解释器,很简单,用crimson.jar 替代xercesImpl.jar
5、jdom和dom4jW3C的DOM标准API难用的让人想撞墙,于是有一帮人开发Java专用的XML API目的是为了便于使用,这就是jdom的由来,开发到一半的时候,另一部分人又分了出来,他们有自己的想法,于是他们就去开发dom4j,形成了今天这样两个API,至于他们之间的性能,jdom全面惨败,dom4j大获全胜。我觉得jdom和dom4j就相当于sax/dom+jaxp,具体的解释器可以选择。第二:再介绍一下,dom,sax,jdom,dom4j的技术特点:1)DOM(JAXP Crimson解析器)? DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。
2)SAX?????SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析
您可能关注的文档
- android的电子书阅读器.doc
- bbs软件工程论文.doc
- CNG加气站工艺流程和主要设备.doc
- C语言程序设计-航班管理系统.doc
- EDA课程设计---基于FPGA的洗衣机控制器的设计.docx
- EDA课设抢答器.docx
- EDA乐曲播放电路课程设计报告.docx
- eMplant系统仿真报告.doc
- flexsim仿真模型答案.doc
- java学生成绩管理系统课程开发毕业论文.doc
- 【东吴-2026研报】两会前后的市场节奏和布局.pdf
- 【开源-2026研报】锅圈(02517):公司首次覆盖报告:供应链+数字化为基抢滩下沉,“大店+品类+品牌”拓展迈步第二个万店目标.pdf
- 【开源-2026研报】投资策略专题:开源金股,3月推荐.pdf
- 【国联民生-2026研报】教育行业周报:教育部部署学生身心健康工作,地方推进终身学习.pdf
- 【华创-2026研报】华创交运 低空经济周报(第65期):两会在即,关注低空经济的政策描绘.pdf
- 【华西-2026研报】PB-ROE模型周度仓位观点.pdf
- 【华创-2026研报】华创医药投资观点&研究专题周周谈 · 第164期:海外CXO2025财报总结&2026年展望.pdf
- 【浙商-2026研报】“大展宏图”系列研究二:特朗普如何重构石油美元2.0体系?.pdf
- 【信达-2026研报】光伏组件回收迎来“退役潮”,新国标出台助力行业步入“正规化”.pdf
- 【华创-2026研报】电力及公用事业行业重大事项点评:绿电下游新需求不断涌现,“电力+算力”为绿电打开全新增长空间.pdf
最近下载
- 六年级下册《生命.生态.安全》全册教案(表格式).doc VIP
- JBT 5944-2018 工程机械 热处理件通用技术条件.pdf VIP
- F102050【复试】2024年东北农业大学090201果树学《加试园艺通论》考研复试核心335题(.pdf VIP
- 2025医美行业白皮书.pdf VIP
- 装饰装修施工组织设计完整版.doc
- 六年级下册《生命.生态.安全》全册教案.pdf VIP
- 《大学生毕业论文写作教程》第三章.pptx VIP
- 苏少版四年级下册音乐教案【完整版】(最全).doc VIP
- 湖南省交通事故历年统计数据.docx VIP
- 保险科技驱动下的高质量发展路径:理论框架与实证分析.docx VIP
原创力文档

文档评论(0)