




已阅读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标准的意见,并提出自己的看法(/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文件中,可以这样写:BHXXXXXXX/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也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的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本土化市场趋势与未来展望报告
- 离婚协议书范本:离婚后子女学业及生活费用承担方案
- 夫妻双方协议离婚及子女抚养及赡养费协议
- 离婚协议书:包含子女教育金及房产分割的详细协议
- 物业管理员工劳动合同范本制作与劳动争议预防与处理
- 离婚协议书:双方自愿净身出户及财产清算
- 通信运营商劳动合同签订与通信技术保密协议
- 离婚协议书-房屋装修与家具购置协议
- 物联网企业股东个人股权转让及网络安全协议
- 离婚协议书模板:复杂股权分割及企业继承协议
- 酒店明住宿清单(水单)
- 《中国儿童维生素A、维生素D临床应用专家共识》解读
- 应用技术推广中心 报告1212
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 教学第七章-无机材料的介电性能课件
- 应急值班值守管理制度
- 外国文学史-总课件
- 《中小企业划型标准规定》补充说明
- 房屋租赁信息登记表
- 六年级上册数学课件-1.6 长方体和正方体的体积计算丨苏教版 (共15张PPT)
评论
0/150
提交评论