1. 什么是xml
1. 定义
xml是指可扩展标记语言(eXtensible Markup Language,它是一种标记语言,类似HTML(html主要用于显示数据即渲染),xml被设计的宗旨是传输数据(存储数据),而非显示数据。
2. 来源及版本
xml技术是w3c组织发布的,目前遵循的是w3c于2000年发布的1.0版本(xml版本有1.0和1.1,但是1.1不能往下兼容,即不能兼容1.0,所以现在应用的都是1.0版本)
3. 应用
- 不同的系统之间传输数据
比如qq之间数据的传输 - 用来表示生活中有关系的数据
比如表示省市之间的关系 - 经常用在文件配置
比如数据库连接的相关配置
4. xml的语法
(1)xml的文档说明
- 创建一个后缀名为xml的文件
- 文件开头必须要有一个文档说明,且必须放在第一行第一列(?xml 问号后面不能有空格且xml后面必须要有空格)
<?xml version="1.0" encoding="gbk"?>
- 属性说明:
- version表明是xml的哪个版本(1.0和1.1);
- encoding 编码 :
gbk(中文/中文简体 ) utf-8(包含中文) ISO-8859-1(不包括中文) - standalone: yes/no 是否依赖其他文件(一般不用填这个属性)
(2)定义元素/标签
<person>
<name>zhangsan张三</name>
<age>20</age>
</person>
- 标签有开始必须要有结束:比如
<aa></aa>
- 标签没有内容,可以在标签体内结束
<aa/>
- 标签可以嵌套,但必须合理嵌套
这样是合理的:
<aa>
<bb></bb>
</aa>
下面是不合理的:
<aa><bb></aa></bb>
- 一个xml中只有一个根,其他标签都在根标签下面
- 在xml中空格和换行都当做内容来解析
下面两段代码效果是不一样的
<aa>
123456
</aa>
<aa>123456</aa>
- 标签的命名规则
1)标签是区分大小写的:<p>和<P>
是不一样的
2)标签不能以数字、下划线以及xml(包括大小写)开头,比如<1aa> <_aa> <xml1> <XML1> <Xml1> 等
这些格式的都不正确。另外标签可以是中文,比如<人></人>
3)标签不能包含空格以及冒号:比如<a b> <a:b>
(3)定义属性
属性可以有一个或多个,但是其名称在标签中是唯一的,命名规则和标签命名规则一样
(4)注释
注意:注释不能放在xml文件的第一行;注释不许嵌套
<!-- xml 的注释方式-->
(5)特殊字符
特殊字符 | 替换符号 |
---|---|
& | & |
> | > |
< | < |
" | " |
’ | ' |
(6)CDATA区(了解即可)
存在多个特殊字符需要转义时,可以用CDATA
<!-- 格式 -- >
<![CDATA[内容]]>
<!-- 例子-- >
<![CDATA[ if(a>b && a<c && b<c)]]>
(7)PI指令(了解即可)
可以设置xml内容的样式,注意其位置放在文档声明的下面
<?xml-stylesheet type="text/css" href="test2.css" ?>
<!-- test.css文件:-->
name{
background-color:red;
}