XML官方文档:https://www.w3school.com.cn/xml/index.asp
1.为什么需要xml?
- 需求1:两个程序间进行数据通信?
- 需求2:给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端口号、还有连接数据库的用户名和密码
- spring中的IOC配置文件beans.xml,mybatis的xxxMapper.xml文件,tomcat的server.xml , web.xml文件
- xml能存储复杂的数据关系
- 解决程序间数据传输的问题:
比如qq之间的数据传送,用xml格式来传输数据,具有良好的可读性,可维护性
以前两个程序间的通信用xml作为数据通信的格式,现在一般用json
- xml可以做配置文件
xml做配置文件可以说是非常的普遍,比如我们的tomcat服务器的server.xml web.xml
- xml可以充当小型的数据库
我们程序中可能用到的数据,如果放在数据库中读取不合适(因为你要增加维护数据库工作),可以考虑直接用xml文件来做小型数据库 , 而且直接读取文件显然要比读取数据库快
现在也不太使用xml作数据存储了
- 快速入门
<?xml version="1.0" encoding="UTF-8" ?><!--1.xml:表示该文件的类型为xml2.version 表示版本3.encoding="UTF-8" 文件编码为UTF-84.students:root元素/根元素,名字自己定义5.<student> </student>表示一个students的子元素,可以有多个6.id就是属性,name,age,gender是student元素的子元素--><students><student id="100"><name>jack</name><age>10</age><gender>男</gender></student><student id="200"><name>Mary</name><age>18</age><gender>女</gender></student></students>
- 一个xml文档分为如下几部分内容
- 文档声明
- 元素
- 属性
- 注释
- CDATA区、特殊字符
<?xml version="1.0" encoding="UTF-8" ?>
- xml声明放在xml文档的第一行
- xml声明由以下几个部分组成:
- version:文档符合xml1.0规范,我们学习1.0
- encoding:文档字符编码,比如:utf-8
- 元素语法要求:
- 每个xml文档必须有且只有一个根元素
- 根元素是一个完全包括文档中其他所有元素的元素
- 根元素的起始标记要放在所有其他元素的起始标记之前
- 根元素的结束标记要放在所有其他元素的结束标记之后
- xml元素指xml文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式
- 包含标签体:
<a>www.baidu.com</a>
- 不含标签体:
<a></a>
,简写为<a/>
- 一个标签中也可以嵌套若干子标签 。但所有的标签必须合理地嵌套,绝对不允许交叉嵌套
- 在很多时候,元素,节点,标签是相同的意思
- xml元素命名规则:
- 区分大小写,例如:
<P>
和<p>
是两个不同的标记 - 不能以数字开头
- 不能包含空格
- 名称中间不能包含冒号
:
- 如果标签单词需要间隔,建议使用下划线
- 区分大小写,例如:
- 属性值用双引号
""
或单引号''
分隔(如果属性值中有单引号''
,就用双引号""
分隔,如过属性值中有双引号""
,就用单引号''
分隔)
- 一个元素可以用多个属性 , 它的基本格式为:
<元素名 属性名="属性值">
- 特定的属性名称在同一个元素标记中只能出现一次
即属性名称在同一个元素中不能重复
- 属性值不能包括&字符
<!--这是一个注释-->
- 注释内容中不要出现
--
- 不要把注释放在标记中间 。错误写法:
<Name <!--the name-->>TOM</Name>
- 注释不能嵌套
- 可以在除标记以外的任何地方放注释