- 1、本文档共69页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第10章 数据的组织方式:XML
第10章 数据的组织方式:XML Ajax中的x就是XML的意思。XML是英文 Extensible Markup Language的缩写,即可扩展标示语言的意思。XML在Ajax应用程序中扮演着重要角色,它承担着数据的组织工作。在使用Ajax技术进行复杂的数据交互时,往往先将数据封装成XML格式,再进行发送。本章将对XML及其相关的技术做全面的介绍。 10.1 XML概述 XML是Extensible Markup Language的简称,即可扩展标记语言。很多人将XML当作HTML的简单扩展,实际上这是一种误解。XML是从SGML和HTML发展而来的。 10.2 XML语法规范 XML是一种元标记语言,它允许开发者使用自定义标签,给开发者提供了极大的自由发挥空间,但是XML本身却有着非常严格的语法规范。开发者必须熟悉这些规范,才能正确使用XML。下面开始向读者一一介绍这些语法规范。 10.2.1 XML声明 XML文档的第一行是XML的声明。在XML概述一节中的基本XML范例,其声明如下所示。 ?xml version=”1.0” encoding=”utf-8” 10.2.2 根节点 范例中的第二行是XML的根节点,如下所示。 notes 10.2.3 开始和结束标记 在XML文档中,所有的元素都必须有结束标记。在HTML中一些元素是可以没有结束标记的,例如p标签,但是XML中元素必须有与其开始标记相对应的结束标记。 10.2.4 属性 XML同HTML一样,其元素可以包含属性。XML的属性以名/值的形式成对出现。例如前文XML范例中note节点的level属性,如下所示。 note level=”1” 10.2.5 合理地嵌套包含 XML不允许元素之间交叉包含,例如下面的包含方式就是错误的。 nameRobinsexmale/name/sex 正确的的写法如下所示。 nameRobin/name sexmale/sex 10.2.6 大小写敏感性 XML是大小写敏感的,所有的XML组成部分,包括标签名、属性名以及值等等都受大小写的影响。例如note与Note是不同的。一个XML新手常犯的错误就是标签的开始和关闭所使用的大小写不一致而导致错误发生,如下所示。 contentSomething wrong../Content 10.2.7 空白被保留 在XML文档中,空白部分并不会被解析器自动删除,而是被完整的保留下来。 在HTML中,多余的空格会被去掉,这句话会被显示为” Hello I’m Robin.”。但是在XML中,所有的空白部分会被当作数据的一部分被完整的保留。 10.2.8 XML的注释 XML的注释采用和HTML一样的格式,即使用!--标识注释的开始,使用--标识注释的结束。 10.2.9 元素的命名 虽然XML允许开发者自己为XML元素命名,但是仍然需要开发者遵守下面这些命名规则。 元素的名字可以包含字母、数字和其它字符,但是不能以数字或标点符号开头。 元素的名字不能以XML(以及其所有的大小写组合模式,包括Xml、XMl等等)开头。 元素的名字不能包含空格。 10.2.10 转义字符 当在XML中使用类似””的字符时,会引起XML的解析错误,因为解析器会认为这是一个新的元素的开始。例如在下面的例子中,需要使用””来表示一个条件关系。 10.2.11 CDATA部件 当某个节点的数据包含大量的需要转义的字符时,可以使用CDATA部件来避免逐一转义的麻烦。CDATA部件以”![CDATA[”开始,以”]]”结束,其包含的所有文本都会被当作普通文本处理,所以特殊符号都会被忽略掉。 10.3 XML命名空间 在使用XML描述数据的时候,有时会遇到元素命名冲突的问题。 命名空间有作用范围的概念,一个被声明的命名空间只能作用于当前元素和其子孙元素上。 10.4 XML Schema 由于XML文档可以使用自定义的标记,这样就导致XML文档没有固定的标记和格式。XML的这种特性在给开发者带来便利的同时,也给XML文档的有效性验证带来了困难。因为程序在处理一个XML时并不能保证该XML有其需要的足够数据,例如某个表示产品的product元素不一定总是包含一个表示其价格信息的price子元素。或者某个重要的元素,其值并不是需要的类型,例如表示价格的price元素却被赋予了一个不相关的字符串值。这就给XML文档的处理带来了很多不确定性,数据的缺失或者类型的错误等等问题必须要等到程序处理XML中途才能被发现。 10.4.1 基本示例 假设在某个文章系统中,一个提供数据输出的程序从数据库中提取需要的数据,然后输出一个表示文章列表信息的XML文档,如下所示。 10.4.2 定义元素 XML S
文档评论(0)