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

1.schema 是内容开放模型,可扩展,功能性强,而DTD可扩展性差。

2.shema 支持丰富的数据类型,而 DTD不支持元素的数据类型,对属性的类型定义也很有限。

3.schema 支持命名空间机制,而DTD不支持。

4.schema 可针对不同情况对整个XML 文档或文档局部进行验证;而 DTD缺乏这种灵活性。

5.schema 完全遵循XML规范,符合XML语法,可以和DOM结合使用,功能强大;而DTD 语法本身有自身的语法和要求,难以学习。

解析XML文档方式

1.DOM解析: DOM的全称是Document Object Model,也即文档对象模型。在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作。通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制。

2.SAX解析:SAX的全称是Simple APIs for XML,也即XML简单应用程序接口。与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式。当使用SAX分析器对XML文档进行分析时,会触发一系列事件,并激活相应的事件处理函数,应用程序通过这些事件处理函数实现对XML文档的访问,因而SAX接口也被称作事件驱动接口。

3.JDOM解析:JDOM采用了Java中的Collection架构来封装集合,是Java爱好者更加熟悉的模式

4.DOM4J解析:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作)到xml文档的内容

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

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

    XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? XML文档定义分为DTD和Schema两种形式,二者都是对XML语法的约束.其本质区别在于Schema本身也是一个XML文 ...

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

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

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

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

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

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

  5. 解析XML的几种方式

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

  6. java解析xml的4种方式

    xml是一种常用的标记语言,可以用来传输数据,它的作用与json类似.不过当下web开发中前后台数据加护基本都使用json,但是在maven.spring的配置文件等方面,xml仍有广泛的使用.比如, ...

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

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

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

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

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

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

最新文章

  1. Javascript模块化编程(一):模块的写法
  2. c语言链表如何做成环,在C语言中单向链表环测试并返回环起始节点的实现方法...
  3. redis 安装测试
  4. Pandas库(3):DataFrame的条件过滤用法
  5. 关于wordpress 点击文章查看内容跳转加载失败(404)的解决方法
  6. 最大子段和 分治与动态规划
  7. python基础教程笔记—即时标记(详解)
  8. java string 字符个数字_java从字符串中提取数字
  9. day5 模拟用户登录
  10. 三菱plc字高八位和低八位_三菱PLC如何传送高8位和低8位数据
  11. Atitit 浏览器tech原理与概论 目录 1. 浏览器概述 1 1.1. 浏览器野史 UserAgent列传 1 1.2. 浏览器趋势 1 1.3. 浏览器大战 1 1.4. 三次浏览器大战 2
  12. 安捷伦or是德信号源+频谱仪操作: 从程控到自动测试 (四)平坦度检测的程控实现
  13. c语言编写的车道线检测程序,opencv车道线检测的实现方法
  14. android lame,Android 采用Lame编码器编码mp3文件
  15. LTE-FDD和TDD帧结构
  16. Aspose.word Java实现html转word,word转html
  17. UI设计必备网站,一定要收藏。
  18. 离婚后发现对方婚内出轨,还能否要赔偿
  19. 权限管理框架实现(1)--Struts切面处理
  20. 巧用宏录制,轻松制作Excel简易查询小系统

热门文章

  1. [k8s集群系列-09]Kubernetes 组件 Dashboard
  2. 如何去除PDF中的水印,PDF去水印方法
  3. Hive基础知识概念
  4. 解决 VS 无法打开包括文件: “XXX.h”: No such file or directory问题
  5. 【ANDROID学习】
  6. 人工智能(1)-样本空间、假设空间、版本空间
  7. 易语言可以编译c语言,刷屏软件?其实易语言也可以做这种软件
  8. 【mysql】 踩坑记录之derived(派生表)
  9. 递归详解——让你真正明白递归的含义
  10. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?