- XML 指可扩展标记语言(eXtensible Markup Language)。
- XML 的作用:
- 用来保存数据,而且这些数据具有自我描述性。
- 它还可以作为项目或者模块的配置文件。
- 还可以作为网络传输数据的格式(现在以
JSON
为主)。
★★★XML
- XML 指可扩展标记语言(eXtensible Markup Language)。
- XML 的作用:
- 用来保存数据,而且这些数据具有自我描述性。
- 它还可以作为项目或者模块的配置文件。
- 还可以作为网络传输数据的格式(现在以
JSON
为主)。
1.XML语法
一个简单的 XML 文件
books.xml
示例:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!--
<?xml version="1.0" encoding="UTF-8"?>
以上内容就是xml文件的声明
version="1.0" version表示xml的版本
encoding="utf-8" encoding表示xml文件本身的编码
-->
<books> <!-- books表示多个图书信息 -->
<book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
<name>时间简史</name> <!-- name表示书名 -->
<author>霍金</author> <!-- author表示作者 -->
<price>75</price> <!-- price表示价格 -->
</book>
<book sn="SN112">
<name>三体</name>
<author>刘慈欣</author>
<price>50</price>
</book>
</books>
1.1 XML声明
XML 声明表示这是一个 XML 文件:
<?xml version="1.0" encoding="utf-8"?>
1
2
3
4
5
6
7
<!--
<?xml version="1.0" encoding="UTF-8"?>
以上内容就是xml文件的声明
version="1.0" version表示xml的版本
encoding="utf-8" encoding表示xml文件本身的编码
-->
1.2 XML注释
- 在 XML 中编写注释的语法与 HTML 的语法很相似:
<!-- This is a comment -->
1.3 XML元素
XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。
元素也可以拥有属性。
1
2
3
4
5
6
7
8
9
10
11
12<books> <!-- books表示多个图书信息 -->
<book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
<name>时间简史</name> <!-- name表示书名 -->
<author>霍金</author> <!-- author表示作者 -->
<price>75</price> <!-- price表示价格 -->
</book>
<book sn="SN112">
<name>三体</name>
<author>刘慈欣</author>
<price>50</price>
</book>
</books>
XML元素(/标签)命名规则
- XML 元素必须遵循以下的命名规则:
- 名称可以含字母、数字以及其他的字符。
- 名称不能以数字或者标点符号开始。
- 名称不能包含空格。
- 可使用任何名称,没有保留的字词。
1.4 XML属性
- xml 的标签属性和 html 的标签属性是非常类似的,属性可以提供元素的额外信息。
- 在标签上可以书写属性:一个标签上可以书写多个属性,每个属性的值必须使用引号引起来。
1.5 语法规则
- 所有 XML 元素都须有关闭标签(也就是闭合)。
- XML 标签对大小写敏感。
- XML 必须正确地嵌套。
- XML 文档必须有根元素,且只能有一个。
- 根元素就是顶级元素,即没有父标签的元素,且只有唯一一个。
- XML 的属性值必须加引号。
1.6 文本区域 (CDATA区)
CDATA
语法可以告诉 XML 解析器,我 CDATA 文本里的内容,只是纯文本,不需要 XML 语法解析。例如,1
2
3
4
5
6
7
8
9
10
11
12<books> <!-- books表示多个图书信息 -->
<book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
<name>时间简史</name> <!-- name表示书名 -->
<author>霍金</author> <!-- author表示作者 -->
<price>75</price> <!-- price表示价格 -->
</book>
<book sn="SN112">
<name>三体</name>
<author>刘慈欣</author>
<price>50</price>
</book>
</books>我要在 “三体” 前面加入多个
<
,一种方法是用<
来表示,还有就是可以用CDATA
来表示:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<books> <!-- books表示多个图书信息 -->
<book sn="SN111"> <!-- book表示一个图书信息 sn表示图书序列号 -->
<name>时间简史</name> <!-- name表示书名 -->
<author>霍金</author> <!-- author表示作者 -->
<price>75</price> <!-- price表示价格 -->
</book>
<book sn="SN112">
<name>
<![CDATA[
<<<<<<<<<<<<三体
]]>
</name>
<author>刘慈欣</author>
<price>50</price>
</book>
</books>