【发布时间】:2010-09-06 17:43:59
【问题描述】:
我过去使用过 jdom,并且简要地查看了 XOM 和 DOM4j。每个似乎都提供了基本相同的东西,因为它们每个都提供了对(非常迟钝的)标准 W3C DOM API 的简化包装。
我知道 JDOM 在开发 JSR 和标准化过程方面曾经付出了一些努力,但据我所知,这些努力从未付诸实施。在过去的几年里,所有项目似乎都处于停滞状态,几乎没有新的发展。
对于哪个是最好的有共识吗?还有各有什么优缺点?
【问题讨论】:
我过去使用过 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 实现)
【讨论】: