参考文档:XML 教程 (w3school.com.cn)
简介
XML,全称eXtensible Markup Language,即“可扩展标记语言”,是一种用于存储和传输数据的标准格式。它由万维网联盟(W3C)开发,目的是克服HTML(HyperText Markup Language)在表示数据结构和语义上的局限性,提供一种更灵活、更强大的数据描述方式。
为什么需要XML
- 两个程序间进行数据通信
- 给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端 口号、还有连接数据库的用户名和密码
- spring 中的 ico 配置文件,beans.xml mybatis XXXMapper.xml tomcat server.xml web.xml mavenpom.xml
- 能存储复杂的数据关系
XML技术用于解决什么问题
-
解决程序间数据传输的问题:=>json
- 比如qq之间的数据传送,用xml格式来传送数据,具有良好的可读性,可维护性。
-
xml可以做配置文件
- xml文件做配置文件可以说非常的普遍,比如我们的tomcat服务器的server.xml,web.xml
-
xml可以充当小型的数据库=>程序自己的数据格式存放
- xml文件做小型数据库,也是不错的选择,我们程序中可能用到的数据,如果放在数据库 中读取不合适(因为你要增加维护数据库工作),可以考虑直接用xm来做小型数据库,而且 直接读取文件显然要比读取数据库快
XML语法
-
文档组成
-
文档声明
- <?xml version="1.0" encoding="utf-8"?>
-
元素
-
每个XML文档必须有且只有一个根元素。
-
根元素是一个完全包括文档中其他所有元素的元素。
-
根元素的起始标记要放在所有其他元素的起始标记之前。
-
根元素的结束标记要放在所有其他元素的结束标记之后。
-
代码示例:
<?xml version="1.0" encoding="utf-8" ?> <!-- 解读 1. 每个XML文档必须有且只有一个根元素。 2. 根元素是一个完全包括文档中其他所有元素的元素。 3. 根元素的起始标记要放在所有其他元素的起始标记之前。 4. 根元素的结束标记要放在所有其他元素的结束标记之后。 5. XML 元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一 包含标签体:<a>www.sohu.com</a> 不含标签体的:<a></a>, 简写为:<a/> 6. 一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许 交叉嵌套。 7. 叫法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><school>清华大学</school><city/> </students>
-
-
属性
-
属性介绍
- <StudentID=“100”>
TOM
- <StudentID=“100”>
-
属性值用双引号(“)或单引号(‘)分隔(如果属性值中有’,用"分隔;有”,用’分隔)
-
一个元素可以有多个属性,它的基本格式为:<元素名属性名=“属性值”>
-
特定的属性名称在同一个元素标记中只能出现一次
-
.属性值不能包括&字符
-
代码示例:
<?xml version="1.0" encoding="utf-8" ?> <!-- 解读 1. 属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有", 用'分隔)。 2. 一个元素可以有多个属性,它的基本格式为:<元素名 属性名="属性值">。 3. 特定的属性名称在同一个元素标记中只能出现一次。 4. 属性值不能包括&字符。--> <students><!--举例:id='01' 也是正确写法如果属性值有" 则使用' 包括属性 比如 id="xxx'yyy"如果属性值有' 则使用" 包括属性 比如 id='xxx"yyy'属性名在同一个元素标记只能出现一次 <student id="01" id="03"> 是错误的属性值不能包括&字符比如:<student id="0&1"> 是错误的--><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>
-
-
注释
- 注释内容中不要出现–
- 不要把注释放在标记中间;错误写法<Name >TOM
-
CDATA区
-
含义
- 有些内容不想让解析引擎执行,而是当作原始内容处理(即当做普通文本),可 以使用CDATA包括起来,CDATA节中的所有字符都会被当作简单文本,而不是XML标记。
-
语法
- <![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>
-
-