文章目录
1. xml是什么?标记语言
xml–可扩展的标记语言. Extensible Markup Language
XML 是一种标记语言,很类似 HTML(预定义的标记语句)
Html:预定义的标记语言。标签都提前规定好了。
<严冰></严冰> error
< h1 ></ h1> ok 提前定义好的
Xml:标签可以随便写,因为他是可扩展。只用按照规范去写都行。
2. xml的发展由来
Html,浏览器大战,各个浏览器厂商为了找优越感,导致html语法非常松散
Xml(语法要求非常严格)
浏览器大战:就算你把标签写得不规范,我依旧可以正常解析html文件
后果:浏览器对html语法的支持非常松散,就是你就算写不对,我也可以正常解析。
W3c组织对html松散的语法结构非常不爽。
W3c:万维网联盟 ,专门制定标准。
xmL没有替代html成功,退居幕后,做配置文件去了。
配置文件:程序配置信息(数据)
3. Xml的作用:
- 展示(淘汰了)
- 配置文件(存储数据,properties(键值对))
- 小型数据库
- 不同系统之间做数据交互
Xml—作为小型的数据库
<students>
<student>
<name>zs</name>
<age>18</age>
</student>
<students>
XML 的设计宗旨是传输数据/存储数据,而非显示数据 (不得已为之)
XML 标签没有被预定义(标签可以随便写,如果作为传输,通常是要结合约束使用的)
使用约束的XML文档设计具有自我描述性。
XML 是 W3C(万维网联盟,专门制定标准的) 的推荐标准
在真实的开发中,xml它的作用:
- 做为一个载体,存储与传输数据(不同系统之间交换数据)
- 做为程序的配置文件。
4. xml的组成部分
- 文档声明(出现在xml文件的首行,必须是首行,必须顶格写)
- 元素(标签)
- 属性(标签里面的属性)
- .注释
- CDATA区、特殊字符(html一样)
- 处理指令(PI Processing instruction) 没人用了,主要的作用是为了让xml引入css样式 (没人用了)
4.1 文档声明
<?xml version="1.0" encoding="utf-8" standalone="no"?>version(版本)是必须出现的
xml目前就两个版本:1.0,1.1(不向下兼容,所以就没人用)
注意事项:
-
version值,一般情况下只取1.0.
-
encoding=“utf-8” 指定xml文件中的内容编码。告诉浏览器用什么编码打开
常用编码
gbk
gb2312
gb18030
utf-8 (万国码)****
big5(包括中文/繁体)
iso8859-1 拉丁文编码 只包含英文字符 不包含中文 -
所有的属性必须使用引号引起来.所有的书写需要使用半角.
-
standalone表示该xml文件是否独立 yes独立 no不独立。(没啥用 鸡肋)
编码问题
设置xml的编码为utf-8,而存储的时候是gbk。用浏览器打开就会报错!
4.2 元素(标签)
- xml中的标签必须有开始有结束.
<a></a>:围堵标签(开始/结束)
<a/>:自闭合的标签
<a>:error 只有开始没有结束
- xml中的标签可以嵌套,但是不能交叉嵌套。
<a><b></b></a> ok 正常嵌套
<a><b></a></b> 不ok. 交叉嵌套
-
对于一个xml文档,有且只有一个根元素.
-
对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。
-
对于我们在书写xml文件时,如果不是人为手动生成,可以写成一行。
做为载体:一行合适(给机器看)
做为配置文件:必须有缩进。(给人看)
4.3 属性
- 属性可以定义多个,每一个属性有一个属性值.
- 属性必须使用引号引起来.
- 属性的命名规范与元素一致。
4.4 注释
<!--
xml的注释与html一样.
-->
xml声明前不能有注释
4.5 xml中的CDATA区域与特殊字符(html).
什么是特殊字符?就是这个符号本身和语言本身冲突了,这个就是特殊字符。比方说:
“<” ,“>”
<![CDATA[
<ruandy>
<br/>
</ruandy>
]]>
这是CDATA的声明,它的作用:在这个区域内的内容不会被解析,会按照原样输出。
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
对于信息量比较少的内容可以使用转义字符。
4.6 PIProcessing instruction 处理指令(引入css样式的)
处理指令用来指挥解析引擎如何解析XML文档内容。
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
(<?xml-stylesheet href="css.css" type="text/css"?>)
5. xml中的元素/属性命名规范
- Xml的元素是严格区分大小写的
一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
区分大小写,例如,<P>和<p>
是两个不同的标记。 - 不能以数字或"_" (下划线)开头。
- 不能以xml(或XML、或Xml 等)开头。
- 不能包含空格。
- 名称中间不能包含冒号(:)