我过去使用过 jdom,并简要介绍了 XOM 和DOM4j
. 每个似乎都提供了基本相同的东西,因为它们每个都提供了对(非常迟钝的)标准 W3C DOM API 的简化包装。
我知道 JDOM 曾在某一时刻为开发 JSR 和标准化过程付出了一些努力,但据我所知,这种努力从未付诸实施。在过去几年中,所有项目似乎都处于停滞状态,几乎没有新的发展。
对于哪个是最好的,是否有共识?还有各有什么优缺点?
我喜欢XOM,因为我喜欢 Elliotte Rusty Harold 的思维方式。在您提到的那些中,我相信它是最偏离 DOM 标准 API 的那个,但我认为这是一个好处。
我曾经为 Cocoa 实现了一个 DOM 库,XOM 是我的灵感。
我也使用过 JDOM,它绝对没有任何问题,尽管我更喜欢 XOM。
虽然dom4j是老玩家了,但我们已经用了一段时间了,还没有后悔。强大的功能:简单、xpath 支持等。弱点:尚不支持java 5.0,但2.0版本终于公布了。
这完全取决于功能集。如果您想从 XSL 转换引擎(如 Xalan)或 XPath 引擎(如 Jaxen 或 Saxon)中受益,我建议您坚持使用更流行的框架,如 Apache Xerces、JDOM。
在那之后,一切都是品味问题。我个人使用像 Apache Xerces 这样的 W3C 兼容 (org.w3c.*),因为它们足够常见、速度相当快并且受到 Java 社区的良好支持。
当然,如果您需要令人眼花缭乱的速度并且不关心 XPath、XQuery 或 XSL,您肯定会发现自己的东西更快和/或资源匮乏。(即 StAX 实现)