XML有哪些技术,有什么区别?

zhouxuegangjava163 2011-04-06 12:56:25
如题,一道面试题。
...全文
297 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jac_cheng 2011-04-09
  • 打赏
  • 举报
回复
又是一个不清的问题 ,你可以给面试官说说解析技术:Dom,SAX。以及定义xml的格式:dtd,scheme
  • 打赏
  • 举报
回复
解析 XML 的话,在 JDK 6 中主要三种形式:DOM、SAX、StAX
24K純帥 2011-04-06
  • 打赏
  • 举报
回复
就如火龙果讲的,是解析XML么。。
  • 打赏
  • 举报
回复
是指 XML 解析,还是基于 XML 的技术?
  • 打赏
  • 举报
回复
Dom, Jdom,SAX, Dom4j

JDOM 和 DOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出。在小文档情况下还值得考虑使用 DOM 和 JDOM。虽然 JDOM 的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。

另外,DOM 仍是一个非常好的选择。DOM 实现广泛应用于多种编程语言。它还是许多其它与 XML 相关的标准的基础,因为它正式获得 W3C 推荐(与基于非标准的 Java 模型相对),所以在某些类型的项目中可能也需要它(如在 JavaScript 中使用 DOM)。
SAX表现较好,这要依赖于它特定的解析方式。一个 SAX 检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。
  无疑,DOM4J是这场测试的获胜者,目前许多开源项目中大量采用 DOM4J,例如大名鼎鼎的 Hibernate 也用 DOM4J 来读取 XML 配置文件。如果不考虑可移植性,那就采用DOM4J吧
Atest001 2011-04-06
  • 打赏
  • 举报
回复
呵呵 你不说也知道这是个面试题目。
dom:一次性将整个xml文档载入,性能和内存的要求比较高,尤其是遇到很大的 XML 文件的时候。由于它的遍历能力,DOM 解析器常用于 XML 文档需要频繁的改变的服务中。如果xml文档太大,可能效率会下降
SAX: 解析器采用了基于事件的模型,不是一次性将xml载入,所以SAX 对内存的要求通常会比较低。它在解析 XML 文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。
参考资料:http://www.it.com.cn/f/edu/053/27/93819.htm
祝你好运。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧