Jdom 和 dom4j

这两个开源包都有相当久远的历史,也是最常用的XML包。想必大家都会认为它们比较稳定了吧?殊不知他们也有很多不尽如人意的地方。

也许大家平时不太会注意,这里说出来只是希望大家能注意一下,不要因为这些问题影响工作。

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

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