栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在哪里可以找到Java XML框架的详细比较?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在哪里可以找到Java XML框架的详细比较?

正如布莱斯(Blaise)指出的那样,坚持标准。但是在此期间创建了多个标准来解决不同的问题/用例。选择哪一个完全取决于您的要求。我希望下面的比较可以帮助您选择正确的选择。

现在,您必须选择 两件事APIAPI实现 (有很多)

API

SAX:优点

  • 基于事件
  • 记忆有效
  • 比DOM快
  • 支持模式验证

SAX:缺点

  • 没有对象模型,您必须利用事件并创建自己的
  • xml的单一解析,只能向前进行
  • 只读api
  • 没有xpath支持
  • 有点难用

DOM:优点

  • 内存中对象模型
  • 保留元素顺序
  • 双向的
  • 读写API
  • xml操作
  • 使用简单
  • 支持模式验证

DOM:缺点

  • 较大的XML文档的存储空间(通常用于小于10 mb的XML文档)
  • 慢点
  • 通用模型,即您使用节点

Stax:优点

  • 最好的SAX和DOM,即DOM的简化和SAX的效率
  • 记忆有效
  • 拉模型
  • 读写API
  • 支持细分
  • 可以在一个线程中同时读取多个文档
  • XML的并行处理更容易

Stax:缺点

  • 不支持模式验证(据我所记得,不确定他们是否已添加)
  • 只能像萨克斯一样前进
  • 没有xml操作

JAXB:优点

  • 使您无需了解XML即可访问和处理XML数据
  • 双向的
  • 比DOM具有更高的内存效率
  • SAX和DOM是通用解析器,其中JAXB会创建特定于XML Schmea的解析器
  • 数据转换:JAXB可以将xml转换为Java类型
  • 通过对象API支持XML MANIPULATION

JAXB:缺点

  • 只能解析有效的XML

Trax: 使用XSLT将XML从一种形式转换为另一种形式

实作

SAX,DOM,Stax,JAXB只是规范。这些规范有许多开源和商业实现。大多数情况下,您可以坚持使用JDK或应用程序服务器附带的功能。但是有时您需要使用默认提供的其他实现。这是您可以欣赏JAXP包装器api的地方。
JAXP 允许您通过配置切换实现,而无需修改代码。它还提供了一个与解析器/规范无关的api,用于解析,转换,验证和查询XML文档。

各种实现的性能和其他比较

  • Stax:http: //java.sun.com/performance/reference/whitepapers/StAX-1_0.pdf
  • 大部分API:http: //www.ibm.com/developerworks/xml/library/x-databdopt2/
  • SO上的JAXB与XmlBeans讨论:JAXB与Apache XMLBeans
  • http://www.ibm.com/developerworks/xml/library/x-injava/

现在的标准是好的,但是有时您会遇到这种疯狂的用例,在这种情况下,您必须支持解析大小为 100 GB 的XML文档,或者您需要 超快速
的XML处理(可能是您正在实现XML解析器芯片),并且是当您需要放弃标准并寻找不同的处理方式时。关于使用正确的工具完成正确的工作!这是我建议您查看
vtd-xml的地方

在SAX和DOM最初的日子里,人们希望使用比任何一个都提供的API更简单的API。我知道JDOM,dom4j,XmlBeans,JiBX,Castor是流行的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/469607.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号