1.概念
Extensible Markup Language —— 可扩展标记语言
可扩展:XML 标签都是自定义的(符合标签命名规则前提下自定义)
标记语言:标签记号语言
2.历史
W3C(WWWC) 万维网联盟
HTML(先) 和 XML(后) 都是 W3C 的产品;HTML 起步是为了与 HTML 竞争,但是由于历史原因,后来选择了与 Properties 竞争存储文件
(1)Properties
usernmae=小明
age=20
usernmae=红
age=21
(2)XML
<user id = "1">
<username>小明</username>
<age>20</age>
</user>
<user id = "2">
<username>小红</username>
<age>21</age>
</user>
3.功能
- 存储数据
- 在网络中传输
4.XML 和 HTML 的区别
- HTML 的标签是预定义的,XML 的标签是自定义的
- HTML 用来展示数据,XML 用来存储数据
- HTML 语法松散(浏览器恶行竞争导致),XML 语法严格
5.语法
- 文件扩展名为 .xml
- 第一行必须定义文档声明
- XML文档中有且仅有一个根标签
- 属性值必须使用 引号(单双均可)引起来
- 每个标签必须有开始和结束标签(或者自闭和标签)
- 标签名区分大小写
6.XML组成部分
(1)文档声明
<?xml 属性列表?>
属性:
verslon:版本号;必须
encoding:编码方式;可有;告知解析引擎当前文档的编码方式(该值应该与实际文档编码格式相同,否则 会导致编码和解码格式不一致而造成乱码),默认为 ISO-8859-1
standalone:是否独立(yes | no);可有;是否依赖其他约束文件
(2)指令
指令用来结合 CSS;XML 最初是为了与 HTML 竞争,所以会用到 指令,后来竞争失败后主要用来存储数据;因此目前很少有人用指令
<?xml-stylesheet type="text/css" href="css文件路径">
在指定的 css 文件中可以利用 css选择器 修饰指定元素
(3)标签
命名规则
- 名称可以包含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字母 xml(或者 XML、Xml 等等)开始
- 名称不能包含空格
- 可使用任何名称,没有保留的字词(除了 x(X)m(M)l(L))
(4)属性
(5)文本
CDATA 区内的数据会被原样展示
<![CDATA[
原样数据区
]]>
(6)示例
<?xml version="1.0" encoding="UTF-8"?>
<!--根标签-->
<users>
<!--子标签-->
<user id="1">
<name></name>
<age></age>
</user>
<user id="2">
<name></name>
<age></age>
</user>
<![CDATA[
哈哈哈,这是我的原样数据
]]>
</users>