Java最佳XML解析器

Java最佳XML解析器

我需要读取小型(最多只有几MB,UTF-8编码)XML文件,浏览各种元素和属性,也许可以修改几个,然后再将XML写回磁盘(最好具有良好的缩进格式)。

什么是满足我需求的最好的XML解析器?有很多可供选择的地方。有些我知道的是:

当然,在JDK中也是如此(我使用的是Java 6)。我对Xerces很熟悉,但发现它很笨重。

建议?


慕婉清6462132
浏览 1180回答 3
3回答

忽然笑

我认为您不应该考虑任何特定的解析器实现。用于XML处理的JavaAPI允许您以标准方式使用任何符合标准的解析器实现。代码应该更加可移植,当您意识到某个特定的解析器已经太老时,您可以使用另一种解析器来替换它,而无需更改代码的一行(如果您做得正确的话)。基本上,有三种以标准方式处理XML的方法:萨克斯这是最简单的API。您可以通过定义一个Handler类来读取XML,该类在XML以串行方式处理时接收元素/属性中的数据。如果您只计划读取一些属性/元素和/或将一些值写回(您的情况),它会更快、更简单。多姆此方法创建一个对象树,允许您随意修改/访问它,因此它更适合复杂的XML操作和处理。斯塔克斯这是在SAX和DOM之间的路径的中间。您只需编写代码,以便在处理数据时从您感兴趣的解析器中提取数据。忘记私有API,如JDOM或Apache API(即ApacheXerces XML序列化器),因为它会将您与特定的实现绑定在一起,这些实现可能会随着时间的推移而发展,或者失去向后兼容性,这将使您在将来要升级到JDOM的新版本或使用的任何解析器时更改代码。如果您坚持使用Java标准API(使用工厂和接口),那么您的代码将更加模块化和可维护。没有必要说所有建议的解析器都符合JAXP实现(我没有检查所有,但我几乎肯定),所以在技术上您可以使用ALL,不管是哪种。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java