我还应该在Java 5或6中使用JDOM吗?

我一直在使用JDOM进行常规XML解析,但感觉Java 5或6必须有更好的,或者至少更轻量级的东西。

JDOM API没有任何问题,但我不喜欢在部署中包含Xerces。 是否有一个更轻量级的替代方案,如果我想要做的只是在XML文件中读取或写出一个?

在我看来,最好的轻量级替代品是XOM,但JDOM仍然是一个非常好的API,我认为没有理由替换它。

它不依赖于Xerces(至少,它不需要Apache Xerces发行版,它与打包到JRE中的Xerces一起工作)。

我使用了javax.xml.stream包(XMLStreamReader / XMLStreamWriter)来使用xml pull / push技术读写XML。 到目前为止它对我有用。

我们使用JAXB – 它根据模式生成类。 您可以在没有架构的情况下生成文件,只需注释您希望xml的用途。

最近有一个名为coffeeDOM的 Java 5的Java 分支 。 你应该检查一下。

你应该看看Commons Digester (请参阅我在这里给出的答案)。 它提供了一种非常轻量级的解析XML机制。

JDOM非常好而且简单。 在JDOM发布之后,有许多新方法可以解析XML,但这些方法的重点不同于简单性。 在某些情况下,当您拥有众所周知的XML文档时,JAXB会使您的架构无法每天更新。 对于非常大的XML文件(数百MB),新的推送解析器非常好甚至是强制性的。 SAX解析器的速度优势可以是十倍。

使用Java标准的XML API之一,这样您就不必包含任何第三方库。

Java平台标准版(Java SE)中的XML 6

我想JAXP对你来说是一个很好的选择。 它是标准的,包含在JDK中,它提供了清晰的接口并允许连接任何实现。如果您需要的只是读取和写入不是非常大且过于复杂的xml文件,JDK中嵌入的JAXP DOM api将满足您的要求。