以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 WORD to XML, HTML to XML 』  (http://bbs.xml.org.cn/list.asp?boardid=13)
----  请问一下,Dom4j和JDOM ,到底有什么本质上的区别呢?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=37456)


--  作者:不如不要
--  发布时间:8/31/2006 3:01:00 PM

--  请问一下,Dom4j和JDOM ,到底有什么本质上的区别呢?
请问一下,Dom4j和JDOM ,到底有什么本质上的区别呢?

我现在要解析一个xml文件,使用哪一个更好一点


--  作者:edward007
--  发布时间:1/19/2007 1:18:00 PM

--  
首先,由于DOM是一种独立于平台和语言的标准API,所以DOM被设计的复杂和繁琐,虽然功能强大但是使用起来就不那么方便了,并且它除了处理XML也要用来处理HTML文档;而JDOM则是纯粹的XML的Java API,它抛开了DOM的局限和假设完全从新构造,没有必要担心与旧版的向下兼
容性,因此比DOM更简单直观并且更容易使用。
其次, JDOM和DOM一样都是把XML文档表示成为树,包括元素、属性、说明、处理指令、文本节点、CDATA段等等, JDOM把对XML文档的处理实现为具体的类和构造函数,而DOM则时把它们表示为接口,具体的处理办法如下。第一: JDOM可以在内存中建立新的XML树,其中树中的数据可以来自数据库之类的非XML库,或者来自Java程序中直接给出。当从头开始建立新的XML文档时(不是从分析器读取来的数据),JDOM会检查所有数据的形式合理性,只是与许多DOM的实现版本不同, JDOM不允许程序生成的说明中包括双连字符(———)或生成的元素与属性发生不应该有的名字空间冲突。第二:文档装入内存中,无论是从头生成还是从流中分析, JDOM都可以修改这个文档,而且JDOM树是完全读写的,树的所有部分都可以移动、删除和增加,和DOM不同的是树中没有不能改变的只读部分。第三:在内存中完成文档工作之后, JDOM允许将其以字节序列形式序列化到磁盘或者流中, JDOM提供了各种选项,可以指定编码方式、缩排量、行结束符和各种序列化细节;当然如果不把文档转换成流,也可以产生SAX事件序列或DOM作为输出。另外, JDOM是纯粹地使用Java实现的API,所以它一致性的使用Java的编程规则和类库。例如主要的JDOM类都有equals()、toString()以及hash-Code()等方法,都实现Cloneable与Serializable接
口, JDOM的最终目标是要实现使用JDOM操纵XML文档就像使用Java语言本身一样容易简单。最后JDOM也有它的适用范围.
--  作者:saxonkkk
--  发布时间:1/22/2007 9:45:00 AM

--  
非常好。
--  作者:yestoday11
--  发布时间:2/2/2007 11:50:00 AM

--  
我用dom4j我觉得其效率更高,更容易使用
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
78.125ms