溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

XML入門詳解

發(fā)布時間:2021-09-17 15:33:08 來源:億速云 閱讀:193 作者:小新 欄目:編程語言

小編給大家分享一下XML入門詳解,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧。

基本概述

可擴(kuò)展標(biāo)記語言,標(biāo)準(zhǔn)通用標(biāo)記語言的子集,是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言。在電子計算機(jī)中,標(biāo)記指計算機(jī)所能理解的信息符號,通過此種標(biāo)記,計算機(jī)之間可以處理包含各種的信息比如文章等。它可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。它非常適合萬維網(wǎng)傳輸,提供統(tǒng)一的方法來描述和交換獨立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。是Internet環(huán)境中跨平臺的、依賴于內(nèi)容的技術(shù),也是當(dāng)今處理分布式結(jié)構(gòu)信息的有效工具。早在1998年,W3C就發(fā)布了XML1.0規(guī)范,使用它來簡化Internet的文檔信息傳輸。

XML的歷史起源

1969年,GML(Generalized Markup Language通用標(biāo)記語言)---->1985年,SGML(Standard Generalized Markup Language標(biāo)準(zhǔn)通用標(biāo)記語言)--->1993年,HTML(Hypertext Markup Language超文本標(biāo)記語言)--->1998年,XML(Extensible Markup Language可擴(kuò)展標(biāo)記語言)

什么是可擴(kuò)展標(biāo)記語言?

1、可擴(kuò)展標(biāo)記語言是一種很像超文本標(biāo)記語言的標(biāo)記語言。

2、它的設(shè)計宗旨是傳輸數(shù)據(jù),而不是顯示數(shù)據(jù)。

3、它的標(biāo)簽沒有被預(yù)定義。您需要自行定義標(biāo)簽。

4、它被設(shè)計為具有自我描述性。

5、它是W3C的推薦標(biāo)準(zhǔn)。

可擴(kuò)展標(biāo)記語言和超文本標(biāo)記語言之間的差異?

1、它不是超文本標(biāo)記語言的替代。

2、它是對超文本標(biāo)記語言的補充。

3、它和超文本標(biāo)記語言為不同的目的而設(shè)計:

4、它被設(shè)計用來傳輸和存儲數(shù)據(jù),其焦點是數(shù)據(jù)的內(nèi)容。

5、超文本標(biāo)記語言被設(shè)計用來顯示數(shù)據(jù),其焦點是數(shù)據(jù)的外觀。

6、超文本標(biāo)記語言旨在顯示信息,而它旨在傳輸信息。

7、對它最好的描述是:它是獨立于軟件和硬件的信息傳輸工具。

為什么需要XML?

1、解決了數(shù)據(jù)傳輸不規(guī)范的問題。

2、可以非常好的描述樹形結(jié)構(gòu)的事物。

3、可以用作配置文件。

PS:現(xiàn)如今很多很多語言,很多技術(shù)都在用XML作為數(shù)據(jù)傳遞的標(biāo)準(zhǔn),所以深刻的理解XML,就相當(dāng)于掌握了一門通用的數(shù)據(jù)傳輸協(xié)議。

案例:

<?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文件可分為如下幾部分內(nèi)容:

文檔聲明 、元素、屬性、注釋  、CDATA區(qū) ,特殊字符 、處理指令(processing instruction)

基本語法:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 上面是文檔聲明 - ->
<?xml-stylesheet type="text/css" href=”XML2.css”?>
<!-- 上面是處理指令 - ->
<根元素>
    <!-- 注釋 - ->
    <![CDATA[     CDATA區(qū),可以是任意字符    ]]>
	<元素 屬性=”屬性值”>
		<元素>元素內(nèi)容</元素>
		<空元素/>>
	</元素> 
</class>
文檔聲明
<?xml version="1.0" encoding=“編碼方式"  standalone="yes|no"?>

XML聲明放在XML文檔的第一行

XML聲明由以下幾個部分組成:

version - -文檔符合XML1.0規(guī)范

encoding - -文檔字符編碼,比如”utf-8”

standalone - -文檔定義是否獨立使用

standalone="yes“

standalone=“no”   默認(rèn)

PS:雖說現(xiàn)在XML出了2.0版了,但是現(xiàn)在大多還是用1.0版。

元素

基本語法:

<元素>元素內(nèi)容</元素>
<元素/>

注意事項:

1、每個XML文檔必須有且只有一個根元素。

2、根元素是一個完全包括文檔中其他所有元素的元素。

3、根元素的起始標(biāo)記要放在所有其他元素的起始標(biāo)記之前。

4、根元素的結(jié)束標(biāo)記要放在所有其他元素的結(jié)束標(biāo)記之后。

5、XML元素指XML文件中出現(xiàn)的標(biāo)簽,一個標(biāo)簽分為開始標(biāo)簽和結(jié)束標(biāo)簽,一個標(biāo)簽有如下幾種書寫形式,例如:

包含標(biāo)簽體:<a>123</a>

不含標(biāo)簽體的:<a></a>, 簡寫為:<a/>

6、一個標(biāo)簽中也可以嵌套若干子標(biāo)簽。但所有標(biāo)簽必須合理的嵌套,絕對不允許交叉嵌套 ,例如:

       <a>hello <b>world</a></b>

7、對于XML標(biāo)簽中出現(xiàn)的所有空格和換行,XML解析程序都會當(dāng)作標(biāo)簽內(nèi)容進(jìn)行處理。

例如:

<a>123</a>和<a>   123   </a>意義是完全不同的。

8、一個XML元素可以包含字母、數(shù)字以及其它一些可見字符,但必須遵守下面的一些規(guī)范:

1---區(qū)分大小寫,例如,<P>和<p>是兩個不同的標(biāo)記。

2---不能以數(shù)字或"_" (下劃線)開頭。

3---不能包含空格。

4---名稱中間不能包含冒號(:)。

9、元素、標(biāo)簽、節(jié)點意義都是一樣的。

屬性

基本語法

<元素 屬性1=”屬性值” 屬性2=”屬性值”>元素內(nèi)容</元素>

注意事項:

1、屬性值用雙引號(")或單引號(')分隔(如果屬性值中有',用"分隔;有",用'分隔)

2、一個元素可以有多個屬性,它的基本格式為:

3、屬性名稱在同一個元素標(biāo)記中只能出現(xiàn)一次

4、屬性值不能包括<, >, &之類的特殊字符,否則需要使用轉(zhuǎn)義字符。

XML入門詳解

注釋

這個和HTML一樣,都是<!-- 注釋 - ->,同樣也不能注釋嵌套,不能放在元素名中間。

CDATA區(qū)

有些內(nèi)容可能不想讓解析引擎解析執(zhí)行,而是當(dāng)作原始內(nèi)容處理,用于把整段文本解釋為純字符數(shù)據(jù)而不是標(biāo)記的情況。包含大量<、>、&或者"字符。CDATA區(qū)中的所有字符都會被當(dāng)作元素字符數(shù)據(jù)的常量部分,而不是XML標(biāo)記。

PS:CDATA區(qū)可以用于傳遞特殊字符,傳遞文件數(shù)據(jù)。可以通過將圖片這類二進(jìn)制文件以byte[]的形式放入CDATA區(qū)中,需要使用時在以byte[]的方式讀出。

處理指令

處理指令,簡稱PI (Processing Instruction)。處理指令用來指揮解析引擎如何解析XML文檔內(nèi)容。

處理指令必須以“<?”作為開頭,以“?>”作為結(jié)尾,XML聲明語句就是最常見的一種處理指令。 例如,在XML文檔中可以使用xml-stylesheet指令,通知XML解析引擎,應(yīng)用css文件顯示xml文檔內(nèi)容。

案例:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="XML2.css" type="text/css"?>
<class>
	<student>
		<name>張三</name>
		<sex>男</sex>
		<age>20</age>
	</student>
	<student>
		<name>李四</name>
		<sex>女</sex>
		<age>18</age>
	</student>
</class>

XML2.css

name {
	font-size: 20px;
	font-weight: bold;
	color: red;
}

sex{
	font-size: 30px;
	font-weight: bolder;
	color: blue;
}

age{
	font-size: 25px;
	font-weight: bolder;
	color: blue;
}

小結(jié)

1、XML必須有且僅有一個根元素

2、元素大小寫敏感

3、元素不能以數(shù)字,下劃線開頭

4、屬性值用引號

5、屬性值如果有特殊字符要用實體表示

6、同一元素的屬性必須唯一,屬性值可以不唯一

7、非空元素標(biāo)記必須成對

8、空標(biāo)記要寫關(guān)閉符號

9、元素必須正確嵌套

10、元素中可以包含字母、數(shù)字或者其它字符(支持中文)

11、元素中不能含空格

12、元素中不能含冒號(注:冒號留給命名空間使用)

以上是“XML入門詳解”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

xml
AI