Fer*_*lez 253
我认为你不应该考虑任何特定的解析器实现.Java API for XML Processing允许您以标准方式使用任何符合标准的解析器实现.代码应该更加可移植,并且当您意识到特定解析器已经变得太旧时,您可以在不更改代码行的情况下将其替换为另一行(如果您正确执行).
基本上有三种以标准方式处理XML的方法:
忘记专有API,例如JDOM或Apache专用API(即Apache Xerces XMLSerializer),因为它会将您绑定到可能及时发展或失去向后兼容性的特定实现,这将使您在将来要升级时更改代码新版本的JDOM或您使用的任何解析器.如果您坚持使用Java标准API(使用工厂和接口),您的代码将更加模块化和可维护.
没有必要说所有(我没有检查所有,但我几乎可以肯定)解析器建议符合JAXP实现,所以从技术上讲,你可以使用所有,无论哪个.
小智 130
这是关于DOM,SAX,StAX和TrAX的一个很好的比较(来源:http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/1.6/tutorial/doc/SJSXP2.html)
功能StAX SAX DOM TrAX
API类型 拉,流式推送,流式传输在内存树XSLT规则中
易于使用 高中高中等
XPath能力 否否是是
CPU和内存 良好的变化变化
仅转发 是是否否
读取XML 是是是是
写XML 是否是是
CRUD 否否是否
zeh*_*rer 80
如果速度和内存没问题,dom4j是一个非常好的选择.如果你需要速度,使用像Woodstox这样的StAX解析器是正确的方法,但你必须编写更多的代码来完成工作,你必须习惯于在流中处理XML.
归档时间: |
|
查看次数: |
312331 次 |
最近记录: |