




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章数据交换格式 孙焘 重点 难点 11 1XML格式 Xml简介Xml发展史Xml的优点Xml的标准结构Xml的实例 11 1XML格式 Xml简介什么是XML 1 XML指可扩展标记语言 ExtensibleMarkupLanguage 2 XML是一种标记语言 很类似HTML3 XML的设计宗旨是传输数据 而非显示数据4 XML标签没有被预定义 您需要自行定义标签 5 XML被设计为具有自我描述性 6 XML是W3C的推荐标准 11 1XML格式 Xml简介Xml与HTML的主要差异 1 XML不是HTML的替代 2 XML和HTML为不同的目的而设计 3 XML被设计为传输和存储数据 其焦点是数据的内容 4 HTML被设计用来显示数据 其焦点是数据的外观 5 HTML旨在显示信息 而XML旨在传输信息 11 1XML格式 Xml发展史XML的前身是SGML TheStandardGeneralizedMarkupLanguage 是自IBM从60年代就开始发展的GML GeneralizedMarkupLanguage 同HTML一样 XML 可扩展标识语言 是通用标识语言标准 SGML 的一个子集 它是描述网络上的数据内容和结构的标准 尽管如此 XML不象HTML HTML仅仅提供了在页面上显示信息的通用方法 没有上下文相关和动态功能 XML则对数据赋予上下文相关功能 它继承了SGML的大部分功能 却使用了不太复杂的技术 11 1XML格式 Xml的优点1 XML把数据从HTML分离2 XML简化数据共享3 XML简化数据传输4 XML简化平台的变更5 XML使您的数据更有用6 XML用于创建新的Internet语言 11 1XML格式 Xml的标准结构因为XML是W3C制定的 XML的标准化工作由W3C的XML工作组负责 该小组成员由来自各个地方和行业的专家组成 他们通过email交流对XML标准的意见 并提出自己的看法 www w3 org TR WD xml 因为XML是个公共格式 它不专属于任何一家公司 你不必担心XML技术会成为少数公司的盈利工具 XML不是一个依附于特定浏览器的语言 11 1XML格式 Xml的标准结构1 XML文件的第一行必须是声明该文件是XML文件以及它所使用的XML规范版本 在文件的前面不能够有其它元素或者注释 2 在XML文件中有且只能够有一个根元素 我们的第一个例子中 参考资料 参考资料 就是此XML文件的根元素 11 1XML格式 Xml的标准结构3 在XML文件中的标记必须正确地关闭 也就是说 在XML文件中 控制标记必须有与之对应的结束标记 如 名称 标记必须有对应的 名称 结束标记 不像HTML 某些标记的结束标记可有可无 如果在XML文件中遇到自成一个单元的标记 就是类似于HTML中的 imgsrc 的这些没有结束标记的时候 XML把它称为 空元素 必须用这样的写法 空元素名 如果元素中含有属性时写法则为 空元素名属性名 属性值 11 1XML格式 Xml的标准结构4 标记之间不得交叉 在以前的HTML文件中 可以这样写 B H XXXXXXX B H B 和 H 标记之间有相互重叠的区域 而在XML中 是严格禁止这样标记交错的写法 标记必须以规则性的次序来出现 5 属性值必须要用 号括起来 如第一个例子中的 1 0 gb2312 人民币 都是用 号括起来了的 不能漏掉 6 控制标记 指令和属性名称等英文要区分大小写 与HTML不同的是 在HTML中 类似 B 和 b 的标记含义是一样的 而在XML中 类似 name NAME 或 Name 这样的标记是不同的 11 1XML格式 Xml的标准结构7 在HTML文件中 如果要浏览器原封不动地将所输入的东西显示出来 可以将这些东西放到 pre pre 或者 xmp xmp 标记中间 这对于创建HTML教学的网页是必不可少的 因为网页中要显示HTML的源代码 而在XML中 要实现这样的功能 就必须使用CDATA标记 8 XML处理空白字符和HTML不一样 HTML标准规定 不管有多少个空白 都当作一个空白来处理 而在XML中规定 所有标记以外的空白 解析器都要忠实地交给下游的应用程序处理 这样 有时必须摒弃编写HTML文件时的缩排习惯 因为缩排的空格 解析器也要处理 11 1XML格式 Xml的标准结构符合上述规定的XML文件就是Well Formed的XML文件 这是编写XML文件的最基本要求 可以看到XML文件的语法规定比HTML要严格多了 由于有这样的严格规定 软件工程师编写XML的解析器就容易多了 不像编写HTML语言的解析器 必须费尽心思去适应不同的网页写法 提高自己浏览器的适应能力 实际上 这对于我们初学者来说 也是一件好事 该怎样就怎样 不必像原来那样去疑惑各种HTML的写法 11 1XML格式 Xml的实例 11 1XML格式 11 2JSON格式 Json的定义Json构建的结构Json的具体形式Json与Xml的比较Json实例 11 2JSON格式 Json的定义JSON JavaScriptObjectNotation 是一种轻量级的数据交换格式 易于人阅读和编写 同时也易于机器解析和生成 它基于JavaScript StandardECMA 2623rdEdition December1999 的一个子集 JSON采用完全独立于语言的文本格式 但是也使用了类似于C语言家族的习惯 包括C C C Java JavaScript Perl Python等 这些特性使JSON成为理想的数据交换语言 11 2JSON格式 Json构建的结构1 名称 值 对的集合 Acollectionofname valuepairs 不同的语言中 它被理解为对象 object 纪录 record 结构 struct 字典 dictionary 哈希表 hashtable 有键列表 keyedlist 或者关联数组 associativearray 2 值的有序列表 Anorderedlistofvalues 在大部分语言中 它被理解为数组 array 这些都是常见的数据结构 事实上大部分现代计算机语言都以某种形式支持它们 这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能 11 2JSON格式 Json的具体形式1 对象是一个无序的 名称 值 对 集合 一个对象以 左括号 开始 右括号 结束 每个 名称 后跟一个 冒号 名称 值 对 之间使用 逗号 分隔 11 2JSON格式 Json的具体形式2 数组是值 value 的有序集合 一个数组以 左中括号 开始 右中括号 结束 值之间使用 逗号 分隔 11 2JSON格式 Json的具体形式3 值 value 可以是双引号括起来的字符串 string 数值 number true false null 对象 object 或者数组 array 这些结构可以嵌套 11 2JSON格式 Json的具体形式4 字符串 string 是由双引号包围的任意数量Unicode字符的集合 使用反斜线转义 一个字符 character 即一个单独的字符串 characterstring 字符串 string 与C或者Java的字符串非常相似 11 2JSON格式 Json的具体形式5 数值 number 也与C或者Java的数值非常相似 除去未曾使用的八进制与十六进制格式 除去一些编码细节 11 2JSON格式 Json与Xml的比较 可读性JSON和XML的可读性可谓不相上下 一边是简易的语法 一边是规范的标签形式 很难分出胜负 可扩展性XML天生有很好的扩展性 JSON当然也有 没有什么是XML能扩展 JSON不能的 不过JSON在Javascript主场作战 可以存储Javascript复合对象 有着xml不可比拟的优势 编码难度XML有丰富的编码工具 比如Dom4j JDom等 JSON也有json org提供的工具 无工具的情况下 相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串 不过 xml文档要多很多结构上的字符 解码难度XML的解析得考虑子节点父节点 而JSON的解析难度几乎为0 11 2JSON格式 Json实例XML和JSON都使用结构化方法来标记数据 下面来做一个简单的比较 现假设有一个用户数据包括 用户名 密码 所在部门 性别 年龄 用XML表示如下 张三123456技术部男30 11 2JSON格式 Json实例用JSON表示如下 name 张三 password 123456 department 技术部 sex 男 old 30 与XML一样 JSON也是基于文本的 且它们都使用Unicode编码 同样具有可读性 XML比较适合于标记文档 而JSON却更适合于时行数据交换处理 11 3读写XML的常用类 在java环境下读取xml文件的方法主要有4种 DOM SAX JDOM JAXBDOMSAXJDOMJAXB 11 3读写XML的常用类 DOM DocumentObjectModel 此方法主要由W3C提供 它将xml文件全部读入内存中 然后将各个元素组成一棵数据树 以便快速的访问各个节点 因此非常消耗系统性能 对比较大的文档不适宜采用DOM方法来解析 DOMAPI直接沿袭了XML规范 每个结点都可以扩展的基于Node的接口 就多态性的观点来讲 它是优秀的 但是在Java语言中的应用不方便 并且可读性不强 11 3读写XML的常用类 DOM DocumentObjectModel 下面是建立XML文档内容的过程 先建立根元素 学生花名册 Elementroot doc createElement 学生花名册 根元素添加上文档doc appendChild root 建立 学生 元素 添加到根元素Elementstudent doc createElement 学生 student setAttribute 性别 studentBean getSex root appendChild student 建立 姓名 元素 添加到学生下面 下同Elementname doc createElement 姓名 student appendChild name TexttName doc createTextNode studentBean getName name appendChild tName 11 3读写XML的常用类 SAX SimpleAPIforXML 此方法主要由XML DEV邮件列表的成员开发的 SAX是基于事件的方法 它很类似于标签库的处理机制 在标签开始 结束以及错误发生等等地方调用相应的接口实现方法 不是全部文档都读入内存 SAX具有优异的性能和利用更少的存储空间特点 SAX的设计只考虑了功能的强大性 却没有考虑程序员使用起来是否方便 使用必须扩展ContentHandler ErrorHandler DTDHandler等 但是必须扩展ContentHandler 或者DefaultHandler 11 3读写XML的常用类 SAX SimpleAPIforXML 取得元素数据的方法 characters取得元素数据中的空白的方法 ignorableWhitespace在解析到处理指令时调用的方法 processingInstruction当未验证解析器忽略实体时调用的方法 skippedEntity运行时 只需要使用下列代码 MySAXParsermySAXParser newMySAXParser mySAXParser parserXMLFile SutInfo xml 11 3读写XML的常用类 JDOMJDOM的处理方式有些类似于DOM 但它主要是用SAX实现的 JDOM用Java的数据类型来定义操作数据树的各个节点 JDOM的性能也很优越 11 3读写XML的常用类 JAXB JavaAndXMLBinding JAXB是以SUN为主的一些公司公布的 JAXB将schema 或者DTD 映射为java对象 java文件 然后使用这些java对象来解析xml文件 需要使用之前生成java文件 因而要有固定的schema 无法处理动态的xml文件 11 4JSON在HTML中的应用 JSON在HTML中的应用json是javascript面向对象语法的一个子集 由于json是javascript的一个子集 因此它可清晰的运用于此语言中 varmyjsonobject bindings ircevent privmsg method newuri regex http ircevent privmsg method deleteuri regex delete ircevent privmsg method randomuri regex random 11 4JSON在HTML中的应用 JSON在HTML中的应用上面的示例 创建了一个包括单独成员 bindings 的对象 此成员包括一个含有三个对象 ircevent method 与 regex 的数组成员可以通过 或者下标操作符检索 myjsonobject bindi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小说人物描写的方法与实践:以某篇课文为例九年级文学课教案
- 早餐技术培训包子专业知识课件
- 互联网美妆电商平台合作合同
- 早期文艺复兴艺术课件
- 纪念白恩课件
- 2025年全国英语等级考试(PETS)四级试卷:虚拟现实在影视制作英语阅读解析
- 早产儿护理查房教学课件
- 烹饪期末考试数学试卷
- 长沙市望城区人民医院招聘专业技术人员考试真题2024
- 清华大学期末数学试卷
- 急危重症护理学第四版电子版参考文献格式
- 第5章-系统模型课件
- 台湾-国民年金保险课件
- 血透室运用PDCA循环降低无肝素透析凝血发生率品管圈成果汇报
- 三叉神经痛微球囊压迫术的护理
- 主持人妆 男主持人上镜妆
- LY/T 1828-2009黄连木栽培技术规程
- 安全文明施工措施费清单五篇
- X射线衍射课件(XRD)
- 常见皮肤病的种类及症状图片、简介大全课件
- 高中化学学法指导课件
评论
0/150
提交评论