数据的组织方式1:XML.ppt
《数据的组织方式1:XML.ppt》由会员分享,可在线阅读,更多相关《数据的组织方式1:XML.ppt(49页珍藏版)》请在三一办公上搜索。
1、第十章 数据的组织方式:XML,主要内容:概述、语法命名空间、XML SchemaXML DOM强大的检索工具:XPath格式化XML工具:XSL在客户端格式化XML跨浏览器的XML开发框架:zXML应用实例:Ajax文章列表程序(XML)重点、难点:全部,10.1 XML概述XML是Extensible Markup Language的简称,即可扩展标记语言。XML是从SGML和HTML发展而来的。XML有很多的优点,由于HTML语言的标签是固定不变的,注意就限制了他的发展,同时也带来了很多不便,由此就产生了可扩展标记语言XML,它能够实现扩展,解决了HTML的不足。XML有以下特点:XML
2、是一种元标记语言,开发者可随意定义自己需要的标记。XML是一种语义/结构化语言,它描述了文档的结构和语义。XML是一种通用的数据格式,其表示的数据是独立于任何平台,任何语言的。它提供了一种规范,利用这种规范,任意平台上的任意应用程序之间都可以进行通信。下面是xml的示例代码:,第十章 数据的组织方式:XML,10.1 XML概述 Ajax tony 2010-10-10 hello boy Ajax tony 2010-10-10 hello boy,第十章 数据的组织方式:XML,10.2 XML语法规范XML是一种元标记语言,它允许开发者使用自定义标签,给开发者提供了极大的自由发挥空间,但
3、是XML本身却有着非常严格的语法规范。开发者必须熟悉这些规范,才能正确使用XML。下面我们来了解下它的语法规范:XML声明:声明了该xml的版本,以及它的编码格式。根节点:xml文档中有且只有一个根节点。然后根节点下面可以有任意个子孙节点。,第十章 数据的组织方式:XML,10.2 XML语法规范开始标签和结束标签:Ajaxtony用开始和结束来包含其下面的子节点,当该节点没有子节点的时候我们也可以省去结束标签。这样写也是可以的,但是该元素没有子节点了。,第十章 数据的组织方式:XML,10.2 XML语法规范属性:节点是可以包含它的属性的,例如上面的level就是note节点的属性。合理的嵌
4、套包含不允许元素之间交叉包含,例如下面的代码是错误的:Ajaxtony 这样写才是正确的:Ajaxtony,第十章 数据的组织方式:XML,10.2 XML语法规范大小写敏感:上面的两个标签不等同,由于XML大小写敏感,XML将认为这些是两个标签。空白被保留:Xml:“Hello world”结果:“Hello world”HTML:“Hello world”结果:Hello world”如果html里面写了多个空格,那么空格只会保留一个,而xml中会保存所有的空格。,第十章 数据的组织方式:XML,10.2 XML语法规范XML的注释:Xml的注释语言使用两个标记来扩住。元素的命名:Xml元
5、素的命名也是要遵循一定的规范的,就象变量的命名一样,都有一个命名规范:元素名称可以包含字母,数字和其他字符,但是不能以数字或者标点符号开头。不能以xml(包括大小和大小写组合都不行)开头元素的名称不能包含空格,第十章 数据的组织方式:XML,10.2 XML语法规范元素的命名:下面的命名是错误的:下面的命名是正确的:,第十章 数据的组织方式:XML,10.2 XML语法规范转移字符:在xml中“”两个字符,解析是无法识别的,所以如果在字符窜中出现这两个字符,我们就需要使用转移字符来代替。下面是转移字符对应表:一般情况下,“”的转移字符最为常用。,第十章 数据的组织方式:XML,10.2 XML
6、语法规范CDATA部件:当某个节点内包含大量的需要转义的字符时,我们可以使用CDATA部件来包含这些需要转义的字符。例如:b)alert(b);else alert(a);,第十章 数据的组织方式:XML,10.3 XML命名空间在XML中有可能出现同样的标签,来代表不同的意义。例如:上面的两段xml代码,第一个用来表示包里面放的有什么东西;第二个用来表示包的相关属性。有时候我们确实需要这样去定义。但是在xml中这样处理是错误的,为了解决这样的问题,我们就需要用到命名空间。,第十章 数据的组织方式:XML,10.3 XML命名空间定义如下:示例代码:C和p表示的就是命名空间,xmlns就是用来
7、定义这个命名空间的。,第十章 数据的组织方式:XML,10.3 XML命名空间当然,你在定义这些命名空间的时候,不要起同样的名字。c和p不一样,而且命名空间指向的url地址也不能一样:两个地址显然不同。注意,有人会问,这个地址是不是必须是百度呢?不是这样的,地址你可以随意的起,即使该地址不存在,只要两个地址不一样即可。,第十章 数据的组织方式:XML,10.3 XML命名空间我们也可以为一个标签起两个命名空间:这样做也是可以的,但是不常用,作为了解。还有一种是默认的命名空间。我们留意下新建的一个html页面的代码,你就明白了。,第十章 数据的组织方式:XML,10.4 XML SchemaXM
8、L Schema到底是什么?假设我们现在正在做一个网页,页面上要求用户输入产品的编号和价格。试想下,如果用户输入价格时,输入的是汉字,那么我们怎么能把一个汉字转化成数字呢?所以,我们就需要用验证的方式,去提示用户,不能输入数字以外的字符。同样的道理,如果我们用xml保存一个产品的价格,例如:80.88 那么,如果这里存放的80.88被写成一串汉字,就非常危险了,在我们处理xml数据的时候,会给我们带来很多麻烦。所以,在xml中我们也需要一种约束来规范数据的格式,那么这种约束就是:XML Schema。,第十章 数据的组织方式:XML,10.4 XML Schema基本示例:(注意,Schema
9、本身也是一个xml文档),第十章 数据的组织方式:XML,10.4 XML Schema系统需要对输出的XML文档进行以下约束:根元素Notes 下包含0个或者多个 note子元素Note元素有一个可选熟悉 postDate,其为日期类型,如果没有提供,则默认日期为:2007-11-17Note元素的第一个子元素必须为title,title元素不包含任何属性和子元素,其值必须是字符串类型(表示标题)Note元素的第二个子元素必须为summary元素,summary元素不包含任何属性和子元素,其值必须是字符串类型(表示简介)Note元素的第二个子元素必须为comment元素,comment元素不
10、包含任何属性和子元素,其值必须是字符串类型(xx)Note元素的下一个元素为comment元素,为可选项,但是出现次数不能超过一次。comment元素不包含任何属性和子元素,其值必须是字符串类型(表示评论)在comment元素后,必须有一个或多个author元素(表示作者),第十章 数据的组织方式:XML,10.4 XML Schema系统需要对输出的XML文档进行以下约束:Author元素必须有一个表示作者姓名的name子元素,其值为字符串。另外还可以有两个可选的子元素:表示作者性别sex和年龄age。如果出现sex元素,则只能从male和female中选择一个取值。如果出现age元素,取值
11、范围:20-80(包含两边),name,sex,age三个元素顺序不限。注意,作者可以有多个,也就是author元素可以写无数个。可以有一个tags属性,表示标签名称。Author之后(如果有tags元素,就是tags元素之后),有一个表示文章点击量的hit元素,该元素为可选,最多出现一次。取值范围=0,默认为0。hit元素之后,必须有一个表示文章地址的url元素,其值为字符串,但必须以开头,而且最后的文件后缀必须是html或者htm,第十章 数据的组织方式:XML,10.4 XML Schema我们就需要建立一个Schema,以下为示例:,第十章 数据的组织方式:XML,10.4 XML S
12、chemaSchema语法分析:下面,我们来尝试着去完成上面题目的要求:1.根元素Notes 下包含0个或者多个 note子元素要想完成这个要求,我们必须得先了解,在Schema中,定义元素是如定义的,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:定义元素:xs:命名空间element定义标签为元素name元素名称type元素类型,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:定义元素:我们必须要给元素名称,这个没问题:我们需要的元素名称是:nodes我们必须要给元素类型,现在又遇到了难题,怎么定义元素的类型呢?思考下
13、,我们曾经所学过的一些数据类型:Int,string,date等等。那么,在Schema中是否也存在这些类型呢?下面,我们来了解下Schema中的元素类型如何定义:,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:内置类型:和我们想象的一样,Schema为我们提供了丰富的数据类型,由于这些类型比较多,这里我们就不一一列举出来了。常用的内容类型,如课本276页:String:字符串,int:数字 这里就不一一列出,详见课本。,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:好了,既然知道了内置数据类型,那我们现在可以定义了n
14、otes元素了吧?现在问一个问题?Notes元素是什么类型的?我们查看xml代码发现,notes不是某一个我们已知的类型,它下面有子元素,子元素下面可能还有子元素,并不是一个单一的节点,里面包含字符或者是数字。那么,notes元素到底应该是什么类型呢?Schema为我们提供了符合数据类型,来定义这些有子元素的节点的复杂元素下面,我们来了解下什么是复合类型:,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:复合类型:使用以上代码,我们可以定义一个符合类型,类型名称是notes。好了,既然复合类型已经定义完成,下面我们就来试试代码吧:,第十章 数据的组织方式:X
15、ML,10.4 XML SchemaSchema语法分析:写好了代码,我们需要测试下是否书写规范,那么怎么测试呢?下面,我们要了解下,如何让xml和Schema一一对应:例如,我们建立了一个Schema:,第十章 数据的组织方式:XML,10.4 XML SchemaSchema语法分析:上面的代码,就是我们已经建立好的Schema,注意xs:schema元素里面有很多属性,我们只需要注意一个属性:targetNamespace,它的值是:http:/tempuri.org/XMLSchema_Artical.xsd,把这段代码复制下,然后在xml文档中的note添加如下属性:最重要的是xsi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 组织 方式 XML
链接地址:https://www.31ppt.com/p-5985985.html