XML第一讲:XML基本讲解
发布时间:2020-12-15 23:02:33 所属栏目:百科 来源:网络整理
导读:XML(eXtensible Markup Language)是万维网联盟(World Wide Web Consortium W3C)定义的一种可扩展标志语言。 可扩展性指允许用户按照XML规则自定义标记(tags 标签)。 强项:轻松表达多层结构的数据;可扩展。 优点:平台无关,语言无关。设计目标是描述数据并
XML(eXtensible Markup Language)是万维网联盟(World Wide Web Consortium W3C)定义的一种可扩展标志语言。
可扩展性指允许用户按照XML规则自定义标记(tags 标签)。 强项:轻松表达多层结构的数据;可扩展。 优点:平台无关,语言无关。设计目标是描述数据并集中于数据的内容,与显示分离。 提醒:不能用XML来直接写网页。即便是包含了XML数据,依然要转换成HTML格式才能在浏览器上显示。 语法规则: XML文件有且仅有一个根标记,其他标记必须封装在根标记中,文件的标记必须形成树状结构。 大小写敏感。 标记的属性必须用""或''括起来。 XML细节: 一、 声明大多数XML文档以XML声明作为开始,它向解析器提供了关于文档的基本信息。建议使用XML声明,但它不是必需的。如果有的话,那么它一定是文档的第一行内容。 如:<?xml version="1.0" encoding="UTF-8" standalone="no"?> 声明最多可以包含三个名称-值对(许多人称它们为属性,尽管在技术上它们并不是)。 <?xml 问号与xml之间不能有空格。 1)version 是使用的XML 版本:1.0,1.1 2)encoding 是该文档所使用的字符集。该声明中引用的ISO-8859-1 字符集包括大多数西欧语言用到的所有字符。 默认字符在UTF-8字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的Unicode 标准。 3)standalone(可以是yes 或no)定义了是否孤立处理该文档。 如果XML文档没有引用任何其它文件,则可以指定 standalone="yes"。 如果XML文档引用其它描述该文档可以包含什么的文件(如DTD),则 standalone="no"。默认值为"no" 二、 标记左尖括号“<“和右尖括号“>“之间的文本1. 在< >中的称为开始标记;在</ >中的称为结束标记 2. 空标记:不包含元素的标记。空标签必须以“/>”结束。格式: <空标记的名称/> <空标记的名称 属性列表/> 注意: 除空标记外,标签必须成对:有始有终。所有的开始标签和结束标签必须匹配。 在标记符“<“和"标记的名称"之间不能含有空格。在标记符"/>"前面可以有空格或回行。 标签必须嵌套正确。 XML标记必须遵循下面的命名规则: 1.名字中可以包含字母、数字以及其它字母或文字;还可包含下划线(_)、点(.)、连字符(-) 2.名字不能以数字开头;可以用字母、文字或者下划线开头。 3.名字不能以字母xml (或XML 或Xml ..) 开头; 4.名字中不能包含空格。 三、 元素位于开始标记与结束标记间一份文档有且只有一个根元素。 根元素下的所有元素叫“子元素”。 标签必须嵌套正确。 不包含自子元素的元素叫“叶子”;包含子元素的元素叫“分支”。 如: <eric>…… </eric> 四、 属性一个元素的开始标志中的名称-值对所有的属性值必须位于单引号或双引号中。 每一个元素的属性不允许出现超过一次。 开始标志内,类似赋值语句 如:<eric age="80">……</eric> 五、 注释注释可以出现在文档的任何位置。(但不建议放在声明前面,部分浏览器会报错)注释以 <!-- 开始,以 --> 结束。 注释内不能包含双连字符(--);除此之外,注释可以包含任何内容。 注释内的任何标记都被忽略 六、 处理指令处理指令是为使用一段特殊代码而设计的标记,简称为PI。大多数XML 文档都是以XML 声明开始,该声明本身就是特殊的处理指令。 处理指令对应用程序特定的数据进行编码。一条处理指令包含一个目标,后跟数据。用<?和?>定界符将处理指令包起来。 目标确定应用程序,而对应用程序不能识别的目标,其会忽略这些处理指令。 七、 实体XML 规范预定义了五个实体。< ==== < > ==== > " ==== ” ' ==== ‘ & ==== & 自定义实体:在DTD中定义 <!ENTITY 实体标志 "实体内容"> 在xml中引用自定义实体,用 &实体标志; 代表实体内容。 另外,无法从键盘输入的字符可以使用字符引用,就是用字符的Unicode代码点来引用该字符。 以"&#x"开始字符引用,以分号结尾,x必须为小写,使用十六进制。如: = 表示等于号。 也可以使用字符引用来引用 <,>,',",& " 查看字符的代码点(附件-> 系统工具-> 字符映射表)。 八、 CDATA当一段文本中出现很多实体引用和字符引用时,会导致文本数据的读写困难,CDATA段就是为了解决这一问题引入的。DATA区段开始于 "<![CDATA[" 结束于 "]]>" CDATA内部的所有东西都会被解析器忽略解析,不用检查它的格式。 但是CDATA段中不能嵌套另一个CDATA段。 九、 属性属性是标记的属性,可以为标记添加附加信息。(1)属性的组成 属性是一个名值对,必须由名称和值组成,属性必须在标记的开始标记或空标记中声明,用"="为属性指定一个值。 语法如下: <标记名称 属性列表/> <标记名称 属性列表>XXX</标记名称> 例如: <桌子 width="40" height='100'/> (2)使有属性的原则 属性不体现数据的结构,只是数据的附加信息; 一个信息是作为一个标记的属性或子标记,取决于具体问题,不要因为属性的频繁使用破坏XML的数据结构。 下面是一个结构清晰的XML文件: <楼房 height="23m" width="12m"> <结构>混凝土</结构> <类别>商用</类别> </楼房> 下面是一个结构不清晰的XML文件: <楼房 height="23m" width="12m" 结构="混凝土" 建筑商="华海集团" 类别="商用"></楼房> 十、 名称空间/包XML文件允许自定义标记,所以可能出现同名字的标记,为了区分这些标记,就需要使用名称空间。 名称空间的目的是有效的区分相同的标记,其实并不真实存在。 语法: 声明有前缀的名称空间 xmlns:前缀名=名称空间的名字 声明无前缀的名称空间 xmlns=名称空间的名字 (缺省) 注意:当且仅当它们的名字相同时称二个名称空间相同,也就是说,对于有前缀的名称空间,如果二个名称空间的名字相同,即使前缀不相同,也是相同的名称空间,返之同然。前缀只是方便引用而已。 基本术语 一、序言Prolog:包括XML声明(XML Declaration)和文档类型声明(Document Type Declaration)。 二、良构(well-formed 规范的):符合W3C定义的XML文档。 验证 为什么需要验证? 对XML文件施加额外的约束,以便交流。(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |