文章目录
XML简介及语法
一、XML简介
1、什么是XML
XML(EXtensible Markup Language)
是一种类似于HTML的可扩展标记语言。
- XML是用来描述数据的,XML 的设计宗旨是传输数据,而不是显示数据。
- XML的标记不是在XML中预定义的,你必须定义自己的标记
- XML使用文档类型定义(DTD)或者模式(Schema)来描述数据
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准。
附:XML和HTML的主要区别是什么? - XML是用来存放数据的
- XML不是HTML的替代品,XML和HTML是两种不同用途的语言。
- XML是被设计用来描述数据的,重点是:什么是数据,如何存放数据。
- HTML是被设计用来显示数据的,重点是:显示数据以及如何显示数据更好上面。
2、XML常见应用
XML语言出现的根本目标在于描述现实生活中进场出现的有关系的数据,还经常用作软件配置文件,以描述程序模块之间的关系。
3、XML的作用
- 一种文档格式.只是内容的载体.
- 常用来做数据存储,数据传输或者配置描述.
- 它不负责展示.至于里面的内容如何使用,由XML程序来控制
二、XML语法
1、一个XML文件分为如下几部分内容
- 文档声明
- 元素
- 属性
- 注释
- CDATA区,特殊字符
- 处理指令(Processing instruction)
2、文档声明
在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
最简单的声明语法:
<?xml version="1.0" ?>
用encoding属性说明文档的字符编码:
<?xml version="1.0" encoding="GB2312" ?>
用standalone属性说明文档是否独立:
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
3、元素
-
XML元素值XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式:
- 包含标签体
:<a>www.baidu.com</a>
- 不包含标签体:
<a></a>,简写为:<a/>
- 包含标签体
-
一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套,例如:
<awlcome to <b> www.baidu.com </a></b>>
是错误的
-
格式良好的XML文档必须有且仅有一个跟标签,其他变迁都是这个标签的子孙标签。
<xml-body> <a>我是标签内容</a> </xml-body> √
<xml-body> </xml-body> <d></d> ×
-
对于XML标签中出现的所有空格和换行,XML解析程序都会当做标签内容进行处理。例如:
<网址>www.baidu.com</网址>
~~不等于~~
<网址>
www.baidu.com
</网址>
4、命名规范
一个XML元素必须遵循以下规范:
- 所有的 XML 元素都必须有一个关闭标签
- XML 标签对大小写敏感,例如
<P>和<p>是两个不同的标记
- XML 必须正确嵌套
- XML 属性值必须加引号
- 不能以数字或“_”(下划线)开头
- 不能以xml(或XML、或Xm;等)开头
- 在 XML 中,空格会被保留
- 名称中间不能加含冒号 ( :);
5、属性
-
一个标签可以有多个属性,每个属性都有它自己的名称和取值,例如:
<input name="text">
-
属性值一定要用双引号或单引号引起来
-
定义属性必须遵循与标签相同的命名规范
-
多学一招:在XML技术中,标签属性所代表的信息,也可以被改成用子元素的形式来描述,例如
<input>
<name>text</name>
</input>
6、注释
- XML文件中的注释采用:
" <!--注释--> "
格式。 - 注意:
- XML声明之前不能有注释
- 注释不能嵌套
7、CDATA区
问题:在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
解决: 遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
语法:<![CDATA[内容]]>
示例:
<![CDATA][
<zrkc>
<!--这是一个CDATA区-->
<br/>
</zrkc>
]>
8、转义字符
特殊字符要用实体来表示(转义)
9、处理指令
-
处理指令,简称PI(Processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
-
例如,在XML文档中可以使用xml-stykesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。
<?xml-stylesheet type="text/css" href="1.css" ?>
-
处理指令必须以
“<?”
作为开头,以“?>”
作为结尾,XML声明语句就是最常见的一种处理指令。