XML
一、XML的概述
1、标记型语言
标记型语言最早是为了排版而生。是一种杂志报刊排版的格式。我们可以使用事先定义的规范性标签,来定义文档或者数据的规范。我们遵照规范来组织文档或者数据,然后依照同样的规范来解读文档数据,这样我们都遵照一个同样的规范(即标记)即可对相同的文档或者数据达成共识,不致产生歧义。
2、什么是XML
XML是一种可扩展标记语言,类似于HTML,通过使用标签来操作,但和HTML不同的是,HTML的标签是固定的,每个标签有固定的含义;而XML的标签可以自己定义,可以写中文的标签。并且HTML的作用是用来显示数据,XML也可以用来显示数据,但不是主要用途,XML主要用来描述数据和存储数据。
3、XML的应用
XML 用来表示生活中有关系的数据,经常用在文件配置。
比如我们在连接数据库时,需要知道数据库的用户名和密码,所以我们在配置文件中可以写入内容:
<user>abc</user>
<password>123456</password>
如果需要修改数据库的信息时,不需要修改源代码,只需要修改配置文件就可以了。
二、XML文档的内容
(1)文档声明
(2)元素(标签)
(3)元素的属性
(4)注释
(5)CDATA区
(6)特殊字符
(7)处理指令(PI:Processing Instruction)了解
1、文档声明
默认写法:
<?xml verson="1.0" encoding="UTF-8"?>
verson:XML的版本 1.0,
encoding:XML的编码
注意:文档声明必须写在第一行第一列
2、XML的元素(标签)
- 标签的定义必须有开始有结束:<person></person>
- 标签没有内容,可以在标签内结束:<person/>
- 标签可以嵌套,但是必须合理嵌套:
正确嵌套:<aa><bb></bb></aa>
错误嵌套:<aa><bb></aa></bb> - 一个xml中,只能有一个根标签,其他标签都是这个标签下面的标签;
- xml标签可以是中文;
- 注意:
在xml中,空格和换行都作为原始内容被处理,所以,在编写xml文件时,要改变使用换行和缩进等方式让原文件中的内容清晰可读的“良好书写习惯”。
例如:下面这两段代码的含义是不同的:
<aa>111111</aa>
<aa>
111111
</aa>
- xml中标签的命名规则
(1)xml代码区分大小写;
<p>和<P>这两个标签是不一样的。
(2)只能以字母或下划线开头,不能使用数字开头;
<2a>这样的标签是不正确的。
(3)xml的标签不能以xml、XML、Xml等开头;
<xmla><XmlB><XMLC>这些都是不正确的。
(4)xml的标签不能包含空格和冒号。
<a b><b:c>这些都是不正确的。
3、元素的属性
- 一个元素可以有多个属性,每个属性都有它自己的名称和取值;
- 属性一定要用引号(单引号或双引号)引起来;
- 属性名称的命名规范与元素的命名规范相同;
- 元素中的属性是不允许重复的
- 在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:
<student>
<name>张三</name>
<age>18</age>
<student>
等价于
<student name="张三" age="18"/>
4、XML的其他组成部分
(1)替代字符的使用
如果想要在xml中显示整个便签的内容,如:<aaa>111111</aaa>,不能正常显示,因为<>会被当做标签。
如果想要显示,就需要对特殊字符 <> 进行转义。
利用 <代替<,>代替>,例如:
<aaa>111111</aaa>
(2)CDATA区
用来解决多个字符都需要转义的操作。
写法:
<![CDATA[ 内容 ]]>
例:
<![CDATA[ <aaa>111111</aaa> ]]>
5、XML的注释
写法:
<!-- 注释 -->
注意:
(1)注释不能嵌套;
(2)注释也不能放到第一行,第一行第一列必须放文档声明;
(3)如果注释中有中文出现,编码必须包含中文。
6、xml的语法的总结
- 所有的xml元素都必须有关闭标签
- 标签对大小写敏感
- 标签必须正确的嵌套
- 有且只有一个根标签
- 属性值必须加引号
- 特殊字符必须转义
- xml中的空格回车换行解析时被保留