我已经使用 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。至今为止,这对我来说都是有效的。
JDOM非常好用且简单。在JDOM发布后,出现了许多新的解析XML的方法,但这些方法的重点与简单性不同。当您拥有已知的XML文档且其模式不会每天更新时,JAXB在某些情况下可以简化事情。 对于非常大的XML文件(数百MB),新的推送解析器非常好用甚至是必需的。 SAX解析器的速度优势可以提高十倍。
我认为JAXP对你来说是一个不错的选择。 它是标准的,包含在JDK中,提供清晰的接口,并允许连接任何实现.. 如果你只需要读写不是很大且不是过于复杂的xml文件,JDK中嵌入的JAXP DOM api将满足你的需求。