为了账号安全,请及时绑定邮箱和手机立即绑定

Java最佳XML解析器

Java最佳XML解析器

慕婉清6462132 2019-06-06 15:02:29
Java最佳XML解析器我需要读取小型(最多只有几MB,UTF-8编码)XML文件,浏览各种元素和属性,也许可以修改几个,然后再将XML写回磁盘(最好具有良好的缩进格式)。什么是满足我需求的最好的XML解析器?有很多可供选择的地方。有些我知道的是:JDOM伍德斯托克斯XOMdom4jvtd-xmlXerces-J深红色当然,在JDK中也是如此(我使用的是Java 6)。我对Xerces很熟悉,但发现它很笨重。建议?
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

我认为您不应该考虑任何特定的解析器实现。用于XML处理的JavaAPI允许您以标准方式使用任何符合标准的解析器实现。代码应该更加可移植,当您意识到某个特定的解析器已经太老时,您可以使用另一种解析器来替换它,而无需更改代码的一行(如果您做得正确的话)。

基本上,有三种以标准方式处理XML的方法:

  • 萨克斯

    这是最简单的API。您可以通过定义一个Handler类来读取XML,该类在XML以串行方式处理时接收元素/属性中的数据。如果您只计划读取一些属性/元素和/或将一些值写回(您的情况),它会更快、更简单。
  • 多姆

    此方法创建一个对象树,允许您随意修改/访问它,因此它更适合复杂的XML操作和处理。
  • 斯塔克斯

    这是在SAX和DOM之间的路径的中间。您只需编写代码,以便在处理数据时从您感兴趣的解析器中提取数据。

忘记私有API,如JDOM或Apache API(即ApacheXerces XML序列化器),因为它会将您与特定的实现绑定在一起,这些实现可能会随着时间的推移而发展,或者失去向后兼容性,这将使您在将来要升级到JDOM的新版本或使用的任何解析器时更改代码。如果您坚持使用Java标准API(使用工厂和接口),那么您的代码将更加模块化和可维护。

没有必要说所有建议的解析器都符合JAXP实现(我没有检查所有,但我几乎肯定),所以在技术上您可以使用ALL,不管是哪种。


查看完整回答
反对 回复 2019-06-06
  • 3 回答
  • 0 关注
  • 1179 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号