一、XML简介
XML (Extensible Markup Language)即可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。
XML与HTML同样被称为标记语言,然而两者具有显著的不同,HTML的目的是显示数据而XML被设计用来更好的传输和存储数据。XML是一种可以用来标记数据、定义数据类型,并且允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
什么是可扩展标记语言?
- 可扩展标记语言是一种很像超文本标记语言的标记语言。(只是有点像)
- 它的设计宗旨是传输数据,而不是显示数据。(传输和存储)
- 它的标签没有被预定义。您需要自行定义标签。(没有固定的标签)
- 它被设计为具有自我描述性。
- 它是W3C的推荐标准。
XML 与 HTML 的主要差异:
- XML 不是 HTML 的替代。
- XML 和 HTML 为不同的目的而设计:
- XML 被设计为传输和存储数据,其焦点是数据的内容。
- HTML 被设计用来显示数据,其焦点是数据的外观。
- HTML 旨在显示信息,而 XML 旨在传输信息。
二、XML格式和语法
语法规则:
XML 文件由内容和标签组成,通过以标记包围内容的方式将大部分内容包含在某个元素中。和HTML不同,XML要求标签必须成对的出现,且严格区分标签的大小写。
可扩展标记语言文件的内容可以包括几乎所有的Unicode字符,元素和属性的名称也可以由非ASCII字符组成。
XML 文档的第一行可以(非必须)有一个 XML 声明,它将文件识别为 XML 文件,有助于工具和人识别 XML(不会误认为是 SGML 或其他标记)。可以将这个声明简单地写成 <?xml?>,或包含 XML 版本(<?xml version=”1.0″?>),甚至可以包含字符编码,比如针对 Unicode 的 <?xml version=”1.0″ encoding=”utf-8″?>,这个声明必须出现在文件的开头。
XML去掉了之前令许多开发人员头疼的标准通用标记语言的随意语法。在XML中:
- 任何的起始标签都必须有一个结束标签。
- 可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在大于符号之前紧跟一个斜线(/),比如可以写成<吴小松/>。XML解析器会将其翻译成<吴小松></吴小松>。
- 标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。
- 所有的属性都必须有值。
- 所有所有属性的值周围必须加上双引号。
- XML 文档必须有根元素
标签命名规则
在 XML 中,先要为元素创建名称,创建名称时可以使用英文字母、数字和特殊字符,比如下划线(_)。
但是:
- 元素名中不能出现空格。
- 名称只能以英文字母开始,不能是数字或符号。(在第一个字母之后就可以使用字母、数字或规定的符号,或它们的混合)。
- 对大小写没有限制,但前后要保持一致。
XML 注释
在 XML 中编写注释的语法与 HTML 的语法很相似:
另外:
HTML 会把多个连续的空格字符裁减(合并)为一个,而在 XML 中,文档中的空格不会被删减。 在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。在 Unix 应用程序中,新行以 LF 字符存储。而 Macintosh 应用程序使用 CR 来存储新行。