XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?


XML文档定义分为DTD和Schema两种形式,二者都是对XML语法的约束。其本质区别在于Schema本身也是一个XML文件,可以被XML解析器解析,而且可以为XML承载的数据定义类型,约束能力较之DTD更强大。
对XML的解析主要有DOM(文档对象模型,Document Object Model)、SAX(Simple API for XML)和StAX(Java 6中引入的新的解析XML的方式,Streaming API for XML)。
(1) DOM处理大型文件时其性能下降的非常厉害,这个问题是由DOM树结构占用的内存较多造成的,而且DOM解析方式必须在解析文件之前把整个文档装入内存,适合对XML的随机访问(典型的用空间换取时间的策略);
(2) SAX是事件驱动型的XML解析方式,它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过事件回调代码来处理XML文件,适合对XML的顺序访问;
(3) StAX把重点放在流上,实际上StAX与其他解析方式的本质区别就在于应用程序能够把XML作为一个事件流来处理。将XML作为一组事件来处理的想法并不新颖(SAX就是这样做的),但不同之处在于StAX允许应用程序代码把这些事件逐个拉出来,而不用提供在解析器方便时从解析器中接收事件的处理程序。

XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?相关推荐

  1. Java - XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net XML文档定义分为DTD和Schema两种形式,二者 ...

  2. XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?

    XML文档定义方式:有两种定义形式,dtd文档类型定义和schema模式 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的) 普通区别: 1.s ...

  3. ZigBee、Wi-Fi、蓝牙和几种无线技术之间,有什么区别?

    社会的不断发展,无线的优点已经逐步显现.如:无线通信覆盖范围大,几乎不受地理环境限制:无线通信可以随时架设,随时增加链路,安装.扩容方便:无线通信可以迅速(数十分钟内)组建起通信链路,实现临时.应急. ...

  4. XML文档定义有几种形式?解析XML文档有哪几种方式?

    XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? a: 两种形式 dtd schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上 ...

  5. java dom4j api_详解Java解析XML的四种方法(推荐使用DOM4J,因为for Java)

    前言 XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有 ...

  6. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  7. 详解Java解析XML的四种方法(转载)

    原文地址:http://developer.51cto.com/art/200903/117512.htm XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成 ...

  8. java 的xml_详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

  9. Java 解析XML的几种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已. 基本的解析方式 ...

最新文章

  1. (WCF)wcf剖析阅读小计
  2. 初探swift语言的学习笔记二(可选类型?和隐式可选类型!)
  3. Codeforces Round #382 (Div. 2)B. Urbanization 贪心
  4. UpdatePanel的妙用:Incremental Content
  5. win7 其他用户当前已登录到此计算机,win7旗舰版的电脑如何切换至公共用户?-win7用户,win7账户已被停用按f8没反应...
  6. 哨兵1号(sentinel 1)数据各参数介绍
  7. 数据库学习整理之常见运算符
  8. 鸿蒙系统不可能有了,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  9. 台式机单硬盘安装黑苹果体验
  10. word打开文档很久很慢_word打开慢,详细教您怎么解决word打开慢
  11. XYNUOJ-2139 德莱联盟
  12. 真正去掉EXCEL里的小数点
  13. access表达式的用法
  14. 河南工学院计算机宿舍,河南工学院宿舍条件,宿舍几人间环境好不好(图片)
  15. Graph Visualization and Navigation in Information Visualization: A Survey 译文
  16. Meta-Q-Learning
  17. 手把手教你批量收藏宗介和波妞壁纸
  18. 通达信量化接口主力进出指标分析
  19. 最优化:一维搜索的Wolfe条件与Goldstein条件
  20. 数据中聚类个数的确定(Determining the number of clusters in a data set)

热门文章

  1. 2023最新天津python培训机构学习路线整理
  2. 股票分析报告怎么写?史上最强股票分析报告范文模板帮助你
  3. PointNet(sem_seg)数据集
  4. 6. ZigZag Conversion-M
  5. 微信小程序手机号注册获取验证码+验证判断
  6. xms 缩写_Java中-XMX -xmn 是什么的缩写
  7. 如何使用阿里巴巴矢量图标库
  8. 20张图 详解 负载均衡
  9. 大运会的疑惑: 是大学生运动会么???
  10. 做好这四件小事,让移动支付安全无忧!