`

[原创]数落数落Jdom和dom4j

    博客分类:
  • Java
阅读更多
这两个开源包都有相当久远的历史,也是最常用的XML包。想必大家都会认为它们比较稳定了吧?殊不知他们也有很多不尽如人意的地方。也许大家平时不太会注意,这里说出来只是希望大家能注意一下,不要因为这些问题影响工作。

1、 Attribute不能超过1W个!
无论是Jdom还是Dom4j,解析XML时一个标签内的Attribute不能超过1W个。这点两个包问题是同样的。如果需要用XML传输大量数据的话最好不要使用Attribute来传输。不然不知道什么时候就超过1W个,导致程序出错。我们项目中是使用一个字符创Attribute来存放所有信息,最后拆字符串的方法来做的。

2、大量Attribute的标签解析后获得的数据有可能会混乱。
问题同上,差不多上千的时候。解析出来的Attribute就开始产生混乱了。怎么个乱法呢?有很多包含了%的Attribute的一部分回合另外一些Attribute的一部分互换。这点比较费解,并且同样是两个包都会存在的问。


一时想不起来了。。。以后慢慢补充吧。。。
分享到:
评论
6 楼 小白·菜 2008-03-24  
恩,可能我是有点欠考虑。没有把技术用到地方。我再思考思考
5 楼 tiyi 2008-03-22  
SOAP也只适合传点小数据小对象。不知道现在这个序列化过程有没有精简,04年用AJAX的时候传100个对象都觉得慢(java->delphi)
4 楼 sg552 2008-03-21  
同意楼上的。

开宝马去耕地的比喻很恰当。

如果非要传输大量的数据,为什么不考虑FTP或者更合适的协议呢?

而且把一万个attribute放到一个节点中, 不觉得很不合适吗?

在正常的XML中,属性不超过10个。

至于下面的:

小白·菜 写道
大量数据如果放在作为content的话,光标签就占去很多资源,所以选择了放在Attribute里面。

可是现在Ajax、WebService、CSV以及一些文件 还是要用XML存储和传输数据的呀。


Ajax我不看好,不发言。
WebService 是可以将对象序列化。这个序列化是WebService的实现框架自动生成,里面的内容很规范,一个节点里不超过10个属性。脉络非常清晰。

另外我也没看明白“光标签就占去很多资源”这句话的意思。呵呵。。。

如果非要将大量数据做传输,我也经历过。把数据分成2K多块,然后通过2K多个小的XML文件来循环传输。完成了,但是效率太低。

希望LZ好好想想,是不是XML技术用的不太恰当。
3 楼 skydream 2008-03-21  
“用XML传输大量数据”

这个出发点就错了。

“大量数据如果放在作为content的话,光标签就占去很多资源,所以选择了放在Attribute里面。”

这个用法则是错上加错。

总结一句话:没有不好的技术,只有不适当的用法。硬要开宝马去耕田的感觉...
2 楼 小白·菜 2008-03-20  
大量数据如果放在作为content的话,光标签就占去很多资源,所以选择了放在Attribute里面。

可是现在Ajax、WebService、CSV以及一些文件 还是要用XML存储和传输数据的呀。
1 楼 myy 2008-03-19  
几千个Attribute...汗一个。

我觉得“用XML传输大量数据”本身就是个错误。

相关推荐

    jdom+dom4j

    为了处理XML文件,Java开发者经常使用库如JDOM和DOM4J,这两个都是Java XML API的实现。本文将深入探讨JDOM和DOM4J,以及它们在解析XML时的应用。 **JDOM** JDOM,全称Java Document Object Model,是一个专为Java...

    XML的四种解析器(dom,sax,jdom,dom4j)原理及性能比较,超详细

    常见的 XML 解析器有 DOM、SAX、JDOM 和 DOM4J 等。每种解析器都有其特点和优缺,选择合适的解析器对应用程序的性能和开发效率有很大影响。 1. DOM 解析器 DOM(Document Object Model)是 W3C 官方标准,用于表示...

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较.txt )

    java中四种操作(dom、sax、jdom、dom4j)xml方式详解与

    dom,jdom,dom4j的区别

    在Java开发中,处理XML文档时常常会遇到几种不同的解析技术,主要包括DOM、JDOM和DOM4J。这些技术各有特点,适用于不同的场景。 DOM,全称为Document Object Model,是W3C制定的一个标准,它提供了一种与平台和语言...

    jdom和dom4j的jar包

    在这个案例中,"jdom和dom4j的jar包"的压缩文件包含了这两个库的jar文件,即`jdom.jar`和`dom4j.jar`。只需将这两个文件解压并引入到Eclipse项目中,就可以在项目中使用JDOM和DOM4J的功能了。具体操作通常是右键点击...

    JDOM_Dom4j.rarJDOM_Dom4j.rar

    标题中的“JDOM_Dom4j.rar”暗示了这个压缩包包含了关于JDOM和Dom4j两个Java XML处理库的相关资料。JDOM和Dom4j是Java编程环境中用于解析、创建和操作XML文档的库,它们都提供了方便的API来处理XML数据。 JDOM...

    jdom&dom4j.zip

    本篇文章将详细探讨两种主流的Java XML解析库:JDOM和DOM4J。 **JDOM** JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于处理XML文档。它提供了一种高效、便捷的方式来创建、修改和访问XML...

    Jdom与dom4j jar包下载

    为了方便地处理XML文档,Java提供了多种API,其中JDOM和DOM4J是两个著名的库,主要用于解析、创建和操作XML文档。下面我们将详细探讨这两个库及其在Java中的应用。 首先,JDOM(Java Document Object Model)是专门...

    XML解析的四种方法源码(DOM, JDOM ,DOM4J , SAX)

    在Java中,解析XML文件是常见的任务,通常有四种主要的方法:DOM (Document Object Model),JDOM,DOM4J以及SAX (Simple API for XML)。以下是对这四种XML解析方式的详细介绍: 1. DOM解析: DOM是一种树形结构的...

    dom4j和jdom的jar包

    DOM4J和JDOM是两种常用的Java XML处理库,它们都是为了方便开发者解析、操作和创建XML文档。本文将深入探讨这两个库的核心概念、特点以及它们在处理XML时的异同。 首先,DOM4J是一个非常灵活且功能强大的Java XML ...

    DOM JDOM dom4j 实例源码

    DOM(Document Object Model)是W3C制定的一种标准,它为XML和HTML文档提供了一种...在2Code和3Code这两个文件中,可能包含了这些库的具体使用示例,学习和理解这些源码可以帮助你更好地掌握DOM、JDOM和dom4j的用法。

    dom jdom dom4j 案例

    在Java中,有多种库用于解析XML,包括DOM(Document Object Model)、JDOM和DOM4J。这些解析器各有特点,适用于不同的场景。 **DOM解析** DOM是一种基于树形结构的XML解析模型,它将整个XML文档加载到内存中,形成...

    DOM、JDOM、DOM4J解析XML实例.pdf

    ### DOM、JDOM、DOM4J解析XML实例详解 #### DOM 方式解析 XML 实例解析 ##### 一、DOM 概述与应用实例 ...DOM 更适合处理较小的 XML 文件,而 JDOM 和 DOM4J 则更适合处理大型和复杂的 XML 数据。

    dom jdom sax dom4j 原理性能比

    本篇文章将探讨四种处理XML的Java库:DOM、JDOM、SAX和DOM4J,分析它们的原理、性能特点以及适用场景。 首先,我们来了解DOM(Document Object Model)。DOM是W3C组织定义的一种API,它将XML文档解析为一个树形结构...

    xml(jdom-dom4j).rar_DOM4J_dom4j xml java

    DOM4J的核心概念包括元素(Element)、属性(Attribute)、文本(Text)和命名空间(Namespace)等。这些概念对应于XML文档中的相应结构。DOM4J通过提供易于使用的接口和类,使得开发者可以方便地遍历XML树、查找...

    XML操作(dom,sax,jdom,dom4j)

    XML(eXtensible Markup Language)...总之,理解和掌握XML操作,包括DOM、SAX、JDOM和DOM4J,对于Java开发者来说至关重要,它们是处理XML数据的基础。深入学习这些解析器的使用和源码,有助于提升开发效率和代码质量。

    \"java xml 四\"之JDOM、DOM4J解析XML总结

    本篇文章主要聚焦于Java中解析XML的两种流行库——JDOM和DOM4J的总结。我们将深入探讨它们的工作原理、优缺点以及如何在实际项目中使用它们。 首先,让我们了解一下JDOM。JDOM是Java专门针对XML设计的一个解析库,...

    jdom dom4j JAR包

    Java开发中,处理XML文档是常见的任务,而`jdom`和`dom4j`都是Java中用于XML处理的库,它们提供了API来方便开发者读取、创建、修改XML文档。这里我们将深入探讨这两个库以及它们对应的JAR包。 首先,`jdom`是一个...

    Java解析XML汇总DOM_SAX_JDOM_DOM4j_XPath

    为了能够有效地解析和操作这些XML文件,Java提供了多种不同的方法和技术,其中最常用的就是DOM、SAX、JDOM、DOM4j以及XPath。下面将详细介绍这些技术。 ##### DOM (Document Object Model) DOM是一种标准的API,它...

Global site tag (gtag.js) - Google Analytics