版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章 数据交换格式孙焘.重点:XML格式 1JSON格式 2读写XML的常用类 3JSON在HTML中的运用 4难点:XML格式 1读写XML的常用类 211.1 XML格式 Xml简介 Xml开展史 Xml的优点 Xml的规范构造Xml的实例 11.1 XML格式Xml简介什么是 XML:1.XML 指可扩展标志言语(Extensible Markup Language) 2.XML 是一种标志言语,很类似 HTML3.XML 的设计目的是传输数据,而非显示数据4.XML 标签没有被预定义。您需求自行定义标签。5.XML 被设计为具有自我描画性。6.XML 是W3C 的引荐规范11.1
2、XML格式Xml简介Xml与 HTML 的主要差别:1.XML 不是 HTML 的替代。2.XML 和 HTML 为不同的目的而设计:3.XML 被设计为传输和存储数据,其焦点是数据的内容。4.HTML 被设计用来显示数据,其焦点是数据的外观。5.HTML 旨在显示信息,而 XML 旨在传输信息11.1 XML格式Xml开展史XML的前身是SGMLThe Standard Generalized Markup Language,是自IBM从60年代就开场开展的GMLGeneralized Markup Language同HTML一样, XML (可扩展标识言语)是通用标识言语规范(SGML)的
3、一个子集,它是描画网络上的数据内容和构造的规范。虽然如此,XML不象HTML,HTML仅仅提供了在页面上显示信息的通用方法(没有上下文相关和动态功能) ,XML那么对数据赋予上下文相关功能,它承继了SGML的大部分功能,却运用了不太复杂的技术。 11.1 XML格式Xml的优点1.XML 把数据从 HTML 分别2. XML 简化数据共享3. XML 简化数据传输4. XML 简化平台的变卦5. XML 使您的数据更有用6. XML 用于创建新的 Internet 言语11.1 XML格式Xml的规范构造 由于XML是W3C制定的,XML的规范化任务由W3C的XML任务组担任,该小组成员由来自
4、各个地方和行业的专家组成,他们经过email交流对XML规范的意见,并提出本人的看法 (/TR/WD-xml)。由于XML 是个公共格式, (它不专属于任何一家公司),他不用担忧XML技术会成为少数公司的盈利工具,XML不是一个依靠于特定阅读器的言语 11.1 XML格式Xml的规范构造1.XML文件的第一行必需是声明该文件是XML文件以及它所运用的XML规范版本。在文件的前面不可以有其它元素或者注释。2.在XML文件中有且只可以有一个根元素。我们的第一个例子中,参考资料. /参考资料就是此XML文件的根元素。 11.1 XML格式Xml的规范构造3.在XML文件中的标志必需正确地封锁,也就是
5、说,在XML文件中,控制标志必 须有与之对应的终了标志。如:称号标志必需有对应的/称号终了标志,不像HTML,某些标志的终了标志可有可无。假设在XML文件中遇到自成一个单元的标志,就是类似于HTML 中的img src=.的这些没有终了标志的时候,XML把它称为“空元素,必需用这样的写法:空元素名/,假设元素中含有属性时写法那么为:空元素名 属性名=“属性值/。 11.1 XML格式Xml的规范构造4.标志之间不得交叉。在以前的HTML文件中,可以这样写:BHXXXXXXX/B/H,B和H标志之间有相互重叠的区域,而在XML中,是严厉制止这样标志交错的写法,标志必需以规那么性的次序来出现。5.
6、属性值必需求用“ 号括起来。如第一个例子中的“1.0、“gb2312、“人民币。都是用“ 号括起来了的,不能漏掉。6.控制标志、指令和属性称号等英文要区分大小写。与HTML不同的是,在HTML中, 类似B和b的标志含义是一样的,而在XML中,类似name、NAME或Name这样的标志是不同的。11.1 XML格式Xml的规范构造7.在HTML文件中,假设要阅读器原封不动地将所输入的东西显示出来,可以将这些东西放到pre/pre或者xmp/xmp标志中间。这对于创建HTML教学的网页是必不可少的,由于网页中要显示HTML的源代码。而在XML中,要实现这样的功能,就必需运用CDATA标志。 8.
7、XML处置空白字符和HTML不一样。HTML规范规定,不论有多少个空白,都当作一个空白来处置;而在XML中规定,一切标志以外的空白,解析器都要忠实地交给下游的运用程序处置。这样,有时必需摒弃编写HTML文件时的缩排习惯,由于缩排的空格,解析器也要处置 。11.1 XML格式Xml的规范构造符合上述规定的XML文件就是Well-Formed的XML文件。这是编写XML文件的最根本要求。可以看到XML文件的语法规定比HTML要严厉多了。由于有这样的严厉规定,软件工程师编写XML的解析器就容易多了,不像编写HTML言语的解析器,必需费尽心思去顺应不同的网页写法,提高本人阅读器的顺应才干。实践上,这对
8、于我们初学者来说,也是一件好事。该怎样就怎样,不用像原来那样去疑惑各种HTML的写法。 11.1 XML格式Xml的实例11.1 XML格式11.2 JSON格式 Json 的定义Json构建的构造Json的详细方式Json与Xml的比较Json实例11.2 JSON格式Json 的定义JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptStandard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于言语的文本格式,但是也
9、运用了类似于C言语家族的习惯包括C,C+,C#,Java, JavaScript,Perl,Python等。这些特性使JSON成为理想的数据交换言语。 11.2 JSON格式Json构建的构造1. “称号/值对的集合A collection of name/value pairs。不同的言语中,它被了解为对象object,纪录record,构造struct,字典dictionary,哈希表hash table,有键列表keyed list,或者关联数组associative array。2. 值的有序列表An ordered list of values。在大部分言语中,它被了解为数组arra
10、y。这些都是常见的数据构造。现实上大部分现代计算机言语都以某种方式支持它们。这使得一种数据格式在同样基于这些构造的编程言语之间交换成为能够。 11.2 JSON格式Json的详细方式1、对象是一个无序的“称号/值对集合。一个对象以“左括号开场,“右括号终了。每个“称号后跟一个“:冒号;“称号/值 对之间运用“,逗号分隔。 11.2 JSON格式Json的详细方式2.数组是值value的有序集合。一个数组以“左中括号开场,“右中括号终了。值之间运用“,逗号分隔。 11.2 JSON格式Json的详细方式3、值value可以是双引号括起来的字符串string、数值(number)、true、fal
11、se、null、对象object或者数组array。这些构造可以嵌套。 。11.2 JSON格式Json的详细方式4、字符串string是由双引号包围的恣意数量Unicode字符的集合,运用反斜线本义。一个字符character即一个单独的字符串character string。 字符串string与C或者Java的字符串非常类似。 11.2 JSON格式Json的详细方式5、数值number也与C或者Java的数值非常类似。除去未曾运用的八进制与十六进制格式。除去一些编码细节。 11.2 JSON格式Json与Xml的比较可读性JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规
12、范的标签方式,很难分出胜负。可扩展性XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。不过JSON在Javascript主场作战,可以存储Javascript复合对象,有着xml不可比较的优势。编码难度XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有提供的工具。无工具的情况下,置信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多构造上的字符。解码难度XML的解析得思索子节点父节点,而JSON的解析难度几乎为0。11.2 JSON格式Json实例XML和JSON都运用构造化方法来标志数据,下面来做一个简单的
13、比较。现假设有一个用户数据包括:用户名、密码、所在部门、性别、年龄。用XML表示如下:张三 123456技术部男30 11.2 JSON格式Json实例用JSON表示如下:name:张三,password:123456,department:技术部,sex:男,old:30与XML一样,JSON也是基于文本的,且它们都运用Unicode编码,同样具有可读性。XML比较适宜于标志文档,而JSON却更适宜于时行数据交换处置。 11.3 读写XML的常用类在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB DOM SAX JDOM JAXB 11.3 读写XML的常用
14、类DOM (Document Object Model)此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常耗费系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观念来讲,它是优秀的,但是在 Java 言语中的运用不方便,并且可读性不强。 11.3 读写XML的常用类DOM (Document Object Model) /下面是建立XML文档内容的过程,先建立根元素学生花名册“Element root = doc.creat
15、eElement(学生花名册);/根元素添加上文档doc.appendChild(root);/建立学生元素,添加到根元素Element student = doc.createElement(学生);student.setAttribute(性别, studentBean.getSex();root.appendChild(student);/建立姓名元素,添加到学生下面,下同Element name = doc.createElement(姓名);student.appendChild(name);Text tName = doc.createTextNode(studentBean.ge
16、tName();name.appendChild(tName);11.3 读写XML的常用类SAX(Simple API for XML )此方法主要由XML-DEV 邮件列表的成员开发的,SAX是基于事件的方法,它很类似于标签库的处置机制,在标签开场、终了以及错误发生等等地方调用相应的接口实现方法,不是全部文档都读入内存。 SAX具有优良的性能和利用更少的存储空间特点。SAX 的设计只思索了功能的强大性,却没有思索程序员运用起来能否方便。运用必需扩展ContentHandler、ErrorHandler、DTDHandler等,但是必需扩展ContentHandler或者DefaultHan
17、dler 。11.3 读写XML的常用类SAX(Simple API for XML )获得元素数据的方法characters 获得元素数据中的空白的方法ignorableWhitespace 在解析四处置指令时调用的方法processingInstruction 当未验证解析器忽略实体时调用的方法skippedEntity运转时,只需求运用以下代码:MySAXParser mySAXParser = new MySAXParser();mySAXParser.parserXMLFile(SutInfo.xml);11.3 读写XML的常用类JDOMJDOM的处置方式有些类似于DOM,但它主要
18、是用SAX实现的 。JDOM用Java的数据类型来定义操作数据树的各个节点 。JDOM的性能也很优越。 11.3 读写XML的常用类JAXB(Java And XML Binding )JAXB 是以SUN为主的一些公司公布的。JAXB将schema或者DTD映射为java对象.java文件,然后运用这些java对象来解析xml文件。需求运用之前生成java文件,因此要有固定的schema,无法处置动态的xml文件。 11.4 JSON在HTML中的运用 JSON在HTML中的运用json是javascript面向对象语法的一个子集。由于json是javascript的一个子集,因此它可明晰的
19、运用于此言语中。var myjsonobject = bindings: ircevent: privmsg, method: newuri, regex: .*, ircevent: privmsg, method: deleteuri, regex: delete.*, ircevent: privmsg, method: randomuri, regex: random.* ; 11.4 JSON在HTML中的运用JSON在HTML中的运用上面的例如,创建了一个包括单独成员bindings的对象,此成员包括一个含有三个对象ircevent, “method, 与 “regex的数组成员可以经过.或者下标操作符检索。myjsonobject.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北省保定市涞水波峰中学2026届高一生物第二学期期末检测模拟试题含解析
- 2025年贵州省遴选笔试及答案
- 2025年生态环境结构化面试题库及答案
- 2025年汉城国际一年级面试题库及答案
- 2025年中粮集团应届生笔试真题及答案
- 2025年入职苏宁信贷笔试及答案
- 2025年数据分析本科生面试题库及答案
- 2024年贡山县招教考试备考题库带答案解析(夺冠)
- 2025年江苏医药职业学院单招职业适应性考试题库附答案解析
- 2024年青岛工程职业学院马克思主义基本原理概论期末考试题附答案解析
- 英国汽车工业市场分析现状供需格局投资前景未来规划研究报告
- 血液净化中心护士长2025年度述职报告
- 人格特质课件
- 八上物理光学试卷及答案
- 2026年杨凌职业技术学院单招职业技能测试题库及参考答案详解
- 境外产品营销方案(3篇)
- 2025年中国医美童颜针产业发展研究报告
- 眼科医疗风险防范培训
- 2025至2030老年手机行业产业运行态势及投资规划深度研究报告
- 违禁物品X射线图像与识别课件
- 2025年新疆中考道德与法治试卷(含答案)
评论
0/150
提交评论