XML入門

黄舟
發布: 2017-02-20 15:04:27
原創
1383 人瀏覽過

XML入門


基本概述


    可擴展標記語言,標準通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的資訊符號,透過此種標記,計算機之間可以處理包含各種的資訊如文章等。它可以用來標記資料、定義資料類型,是一種允許使用者對自己的標記語言進行定義的來源語言。它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程式或供應商的結構化資料。是Internet環境中跨平台的、依賴內容的技術,也是當今處理分散式結構資訊的有效工具。早在1998年,W3C就發布了XML1.0規範,使用它來簡化Internet的文件資訊傳輸。

 

XML的歷史起源

   1969年,GML(Generalized Markup Language通用標記語言)---->1985年,SGML(Standard Generalized Markup Language標準通用標記語言)---> ;1993年,HTML(Hypertext Markup Language超文本標記語言)--->1998年,XML(Extensible Markup Language可擴展標記語言)

 

 

什麼是可擴展標記語言?

1、可擴展標記語言是一種很像超文本標記語言的標記語言。

2、它的設計宗旨是傳輸數據,而不是顯示數據。

3、它的標籤沒有被預先定義。您需要自行定義標籤。

4、它被設計為具有自我描述性。

5、它是W3C的建議標準。

 

可擴展標記語言和超文本標記語言之間的差異?

1、它不是超文本標記語言的替代。

2、它是超文本標記語言的補充。

3、它和超文本標記語言為不同的目的而設計:

4、它被設計用來傳輸和儲存數據,其焦點是資料的內容。

5、超文本標記語言被設計用來顯示數據,其焦點是數據的外觀。

6、超文本標記語言旨在顯示訊息,而它旨在傳輸訊息。

7、對它最好的描述是:它是獨立於軟體和硬體的資訊傳輸工具。

 

為什麼需要XML

1、解決了資料傳輸不規範的問題。

2、可以非常好的描述樹狀結構的事物。

3、可用作設定檔。

 

PS:現如今很多很多語言,很多技術都在用XML作為資料傳遞的標準,所以深刻的理解XML,就相當於掌握了一門通用的資料傳輸協定。

參考文件:http://www.php.cn/


案例:

<?xml version="1.0" encoding="UTF-8"?>
<class>
	<stu id="a001">
		<name>张三</name>
		<sex>男</sex>
		<age>20</age>
	</stu> 
	<stu id="a002">
		<name>李四</name>
		<sex>女</sex>
		<age>18</age>
	</stu>
</class>
登入後複製


XML基本语法

一个XML文件可分为如下几部分内容:

文档声明 、元素、属性、注释 、CDATA,特殊字符 、处理指令(processing instruction

基本语法:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 上面是文档声明 - ->
<?xml-stylesheet type="text/css" href=”XML2.css”?>
<!-- 上面是处理指令 - ->
<根元素>
    <!-- 注释 - ->
    <![CDATA[     CDATA区,可以是任意字符    ]]>
	<元素 属性=”属性值”>
		<元素>元素内容</元素>
		<空元素/>>
	</元素> 
</class>
登入後複製


文档声明

<?xml version="1.0" encoding=“编码方式"  standalone="yes|no"?>
登入後複製

XML声明放在XML文档的第一行

XML声明由以下几个部分组成:

version - -文档符合XML1.0规范

encoding - -文档字符编码,比如”utf-8”

standalone - -文档定义是否独立使用

standalone="yes

standalone=no” 默认

PS:虽说现在XML出了2.0版了,但是现在大多还是用1.0版。

元素

基本语法:

<元素>元素内容</元素>
<元素/>
登入後複製


注意事项:

1每个XML文档必须有且只有一个根元素。

2根元素是一个完全包括文档中其他所有元素的元素。

3根元素的起始标记要放在所有其他元素的起始标记之前。

4根元素的结束标记要放在所有其他元素的结束标记之后。

5XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

包含标签体:123

不含标签体的:, 简写为:

6一个标签中也可以嵌套若干子标签。但所有标签必须合理的嵌套,绝对不允许交叉嵌套 ,例如:

hello world

7对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。

例如:

123 123 意义是完全不同的。

8一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:

1---区分大小写,例如,

是两个不同的标记。

2---不能以数字或"_" (下划线)开头。

3---不能包含空格。

4---名称中间不能包含冒号(:)。

9、元素、标签、节点意义都是一样的。


属性

基本语法

<元素 属性1=”属性值” 属性2=”属性值”>元素内容</元素>
登入後複製


注意事项:

1属性值用双引号(")或单引号(')分隔(如果属性值中有',用"分隔;有",用'分隔)

2一个元素可以有多个属性,它的基本格式为:

3属性名称在同一个元素标记中只能出现一次

4属性值不能包括<, >, &之类的特殊字符,否则需要使用转义字符。



注释


这个和HTML一样,都是