這篇文章主要為大家展示了“XML有什么用法”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“XML有什么用法”這篇文章吧。
目前成都創(chuàng)新互聯(lián)公司已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、昌江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
gml(1969)->sgml(1985)->html(1993)->xml(1998)
1969 gml(通用標(biāo)記語(yǔ)言),主要目的是要在不同的機(jī)器之間進(jìn)行通信的數(shù)據(jù)規(guī)范
1985 sgml(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)
1993 html(超文本標(biāo)記語(yǔ)言,www網(wǎng))
html語(yǔ)言本身是有一些缺陷的
(1)不能自定義標(biāo)簽
(2)html本身缺少含義
(3)html沒(méi)有真正的國(guó)際化有一個(gè)中間過(guò)渡語(yǔ)言,xhtml:
html->xhtml->xml
1998 xml extensiable markup language 可擴(kuò)展標(biāo)記語(yǔ)言
1.需求1 我們可以用瀏覽器打開(kāi): 那么我們的XML能不能像html那樣顯示在網(wǎng)頁(yè)上呢?也是可以的,它也可以用css來(lái)修飾,但我們不用,我們只需要使用XML來(lái)存儲(chǔ)數(shù)據(jù)。 在這個(gè)例子中,如果我們把第一行的編碼改為utf-8,再用瀏覽器打開(kāi)會(huì)報(bào)錯(cuò),這是為什么呢? 因?yàn)閤ml文件的默認(rèn)編碼是ANSI,即美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)制定的編碼,它根據(jù)不同的國(guó)家和地區(qū)制定了不同的標(biāo)準(zhǔn),那么在中國(guó)就是GB2312,所以我們用GB2312編碼不會(huì)出錯(cuò),而用UTF-8會(huì)報(bào)錯(cuò)。 解決辦法就是將該XML文件更改為UTF-8的編碼模式即可。 一個(gè)XML文件分為如下幾部分內(nèi)容: XML聲明放在XML文檔的第一行 version –文檔符合XML1.0規(guī)范,我們學(xué)習(xí)1.0 (1)每個(gè)XML文檔必須有且只有一個(gè)根元素 根元素是一個(gè)完全包括文檔中其他所有元素的元素 根元素的起始標(biāo)記要放在所有其他元素的起始標(biāo)記之前 跟元素的結(jié)束標(biāo)記要放在所有其他元素的結(jié)束標(biāo)記之后 (2)XML元素指的是XML文件中出現(xiàn)的標(biāo)簽,一個(gè)標(biāo)簽分為開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽,一個(gè)標(biāo)簽有如下幾種書(shū)寫(xiě)方式,例如 包含標(biāo)簽體: 不含標(biāo)簽體的: (3)一個(gè)標(biāo)簽中也可以嵌套若干子標(biāo)簽。但所有標(biāo)簽必須合理地嵌套,絕對(duì)不允許交叉嵌套,例如 這種情況肯定是要報(bào)錯(cuò)的。 (4)對(duì)于XML標(biāo)簽中出現(xiàn)的所有空格和換行,XML解析程序都會(huì)當(dāng)做標(biāo)簽內(nèi)容進(jìn)行處理。例如下面兩段內(nèi)容的意義是不一樣的。 和如下: (5)由于在XML中,空格和換行都作為原始內(nèi)容被處理,所以,在編寫(xiě)XML文件時(shí),要特別注意。 (6)命名規(guī)范:一個(gè)XML元素可以包含字母、數(shù)字以及其它一些可見(jiàn)字符,但必須遵守以下規(guī)范: 區(qū)分大小寫(xiě),例如,元素P和元素p是兩個(gè)不同的元素 不能以數(shù)字或下劃線”_”開(kāi)頭 元素內(nèi)不能包含空格 名稱中間不能包含冒號(hào)(:) 可以使用中文,但一般不這么用 (1)屬性值用雙引號(hào)(”)或單引號(hào)(’)分隔,如果屬性值中有單引號(hào),則用雙引號(hào)分隔;如果有雙引號(hào),則用單引號(hào)分隔。那么如果屬性值中既有單引號(hào)還有雙引號(hào)怎么辦?這種要使用實(shí)體(轉(zhuǎn)義字符,類似于html中的空格符),XML有5個(gè)預(yù)定義的實(shí)體字符,如下: (2)一個(gè)元素可以有多個(gè)屬性,它的基本格式為: (3)特定的屬性名稱在同一個(gè)元素標(biāo)記中只能出現(xiàn)一次 XML的注釋類似于HTML中的注釋: (1)注釋內(nèi)容不要出現(xiàn) 假如有這么一個(gè)需求,需要通過(guò)XML文件傳遞一幅圖片,怎么做呢?其實(shí)我們看到的電腦上的所有文件,本質(zhì)上都是字符串,不過(guò)它們都是特殊的二進(jìn)制字符串。我們可以通過(guò)XML文件將一幅圖片的二進(jìn)制字符串傳遞過(guò)去,然后再解析成一幅圖片。那么這個(gè)字符串就會(huì)包含大量的<,>,&或者“等一些特殊的不合法的字符。這時(shí)候解析引擎是會(huì)報(bào)錯(cuò)的。 所以,有些內(nèi)容可能不想讓解析引擎解析執(zhí)行,而是當(dāng)做原始內(nèi)容處理,用于把整段文本解釋為純字符數(shù)據(jù)而不是標(biāo)記。這就要用到CDATA節(jié)。 語(yǔ)法如下: CDATA節(jié)中可以輸入任意字符(除 如下例,這種情況它不會(huì)報(bào)錯(cuò),而如果不包含在CDATA節(jié)中,就會(huì)報(bào)錯(cuò): 處理指令,簡(jiǎn)稱PI(processing instruction)。處理指令用來(lái)指示解析引擎如何解析XML文件,看下面一個(gè)例子: 比如我們也可以使用css樣式表來(lái)修飾XML文件,編寫(xiě)my.css如下: 我們?cè)趚ml文件中使用處理指令引入這個(gè)css文件,如下: 這時(shí)候我們?cè)儆脼g覽器打開(kāi)這個(gè)xml文件,會(huì)發(fā)現(xiàn)瀏覽器解析出一個(gè)帶樣式的視圖,而不再是單純的目錄樹(shù)了: 但是XML的處理指令不要求掌握,因?yàn)橛玫降暮苌佟?/p> 語(yǔ)法規(guī)范: 1.XML聲明語(yǔ)句 gml(1969)->sgml(1985)->html(1993)->xml(1998) 1969 gml(通用標(biāo)記語(yǔ)言),主要目的是要在不同的機(jī)器之間進(jìn)行通信的數(shù)據(jù)規(guī)范 1985 sgml(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言) 1993 html(超文本標(biāo)記語(yǔ)言,www網(wǎng)) html語(yǔ)言本身是有一些缺陷的 有一個(gè)中間過(guò)渡語(yǔ)言,xhtml: 1998 xml extensiable markup language 可擴(kuò)展標(biāo)記語(yǔ)言 1.需求1 在XML語(yǔ)言中,它允許用戶自定義標(biāo)簽。一個(gè)標(biāo)簽用于描述一段數(shù)據(jù);一個(gè)標(biāo)簽可以分為開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽,在開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽之間,又可以使用其他標(biāo)簽描述其他數(shù)據(jù),以此來(lái)實(shí)現(xiàn)數(shù)據(jù)關(guān)系的描述。 1.XML的出現(xiàn)解決了程序間數(shù)據(jù)傳輸?shù)膯?wèn)題: 2.XML可以做配置文件 3.XML可以充當(dāng)小型的數(shù)據(jù)庫(kù) 入門案例:用XML來(lái)記錄一個(gè)班級(jí)信息。 我們可以用瀏覽器打開(kāi): 那么我們的XML能不能像html那樣顯示在網(wǎng)頁(yè)上呢?也是可以的,它也可以用css來(lái)修飾,但我們不用,我們只需要使用XML來(lái)存儲(chǔ)數(shù)據(jù)。 在這個(gè)例子中,如果我們把第一行的編碼改為utf-8,再用瀏覽器打開(kāi)會(huì)報(bào)錯(cuò),這是為什么呢? 因?yàn)閤ml文件的默認(rèn)編碼是ANSI,即美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)制定的編碼,它根據(jù)不同的國(guó)家和地區(qū)制定了不同的標(biāo)準(zhǔn),那么在中國(guó)就是GB2312,所以我們用GB2312編碼不會(huì)出錯(cuò),而用UTF-8會(huì)報(bào)錯(cuò)。 解決辦法就是將該XML文件更改為UTF-8的編碼模式即可。 一個(gè)XML文件分為如下幾部分內(nèi)容: XML聲明放在XML文檔的第一行 version –文檔符合XML1.0規(guī)范,我們學(xué)習(xí)1.0 (1)每個(gè)XML文檔必須有且只有一個(gè)根元素 根元素是一個(gè)完全包括文檔中其他所有元素的元素 根元素的起始標(biāo)記要放在所有其他元素的起始標(biāo)記之前 跟元素的結(jié)束標(biāo)記要放在所有其他元素的結(jié)束標(biāo)記之后 (2)XML元素指的是XML文件中出現(xiàn)的標(biāo)簽,一個(gè)標(biāo)簽分為開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽,一個(gè)標(biāo)簽有如下幾種書(shū)寫(xiě)方式,例如 包含標(biāo)簽體: 不含標(biāo)簽體的: (3)一個(gè)標(biāo)簽中也可以嵌套若干子標(biāo)簽。但所有標(biāo)簽必須合理地嵌套,絕對(duì)不允許交叉嵌套,例如 這種情況肯定是要報(bào)錯(cuò)的。 (4)對(duì)于XML標(biāo)簽中出現(xiàn)的所有空格和換行,XML解析程序都會(huì)當(dāng)做標(biāo)簽內(nèi)容進(jìn)行處理。例如下面兩段內(nèi)容的意義是不一樣的。 和如下: (5)由于在XML中,空格和換行都作為原始內(nèi)容被處理,所以,在編寫(xiě)XML文件時(shí),要特別注意。 (6)命名規(guī)范:一個(gè)XML元素可以包含字母、數(shù)字以及其它一些可見(jiàn)字符,但必須遵守以下規(guī)范: 區(qū)分大小寫(xiě),例如,元素P和元素p是兩個(gè)不同的元素 不能以數(shù)字或下劃線”_”開(kāi)頭 元素內(nèi)不能包含空格 名稱中間不能包含冒號(hào)(:) 可以使用中文,但一般不這么用 (1)屬性值用雙引號(hào)(”)或單引號(hào)(’)分隔,如果屬性值中有單引號(hào),則用雙引號(hào)分隔;如果有雙引號(hào),則用單引號(hào)分隔。那么如果屬性值中既有單引號(hào)還有雙引號(hào)怎么辦?這種要使用實(shí)體(轉(zhuǎn)義字符,類似于html中的空格符),XML有5個(gè)預(yù)定義的實(shí)體字符,如下: (2)一個(gè)元素可以有多個(gè)屬性,它的基本格式為: (3)特定的屬性名稱在同一個(gè)元素標(biāo)記中只能出現(xiàn)一次 XML的注釋類似于HTML中的注釋: (1)注釋內(nèi)容不要出現(xiàn) 假如有這么一個(gè)需求,需要通過(guò)XML文件傳遞一幅圖片,怎么做呢?其實(shí)我們看到的電腦上的所有文件,本質(zhì)上都是字符串,不過(guò)它們都是特殊的二進(jìn)制字符串。我們可以通過(guò)XML文件將一幅圖片的二進(jìn)制字符串傳遞過(guò)去,然后再解析成一幅圖片。那么這個(gè)字符串就會(huì)包含大量的<,>,&或者“等一些特殊的不合法的字符。這時(shí)候解析引擎是會(huì)報(bào)錯(cuò)的。 所以,有些內(nèi)容可能不想讓解析引擎解析執(zhí)行,而是當(dāng)做原始內(nèi)容處理,用于把整段文本解釋為純字符數(shù)據(jù)而不是標(biāo)記。這就要用到CDATA節(jié)。 語(yǔ)法如下: CDATA節(jié)中可以輸入任意字符(除 如下例,這種情況它不會(huì)報(bào)錯(cuò),而如果不包含在CDATA節(jié)中,就會(huì)報(bào)錯(cuò): 處理指令,簡(jiǎn)稱PI(processing instruction)。處理指令用來(lái)指示解析引擎如何解析XML文件,看下面一個(gè)例子: 比如我們也可以使用css樣式表來(lái)修飾XML文件,編寫(xiě)my.css如下: 我們?cè)趚ml文件中使用處理指令引入這個(gè)css文件,如下: 這時(shí)候我們?cè)儆脼g覽器打開(kāi)這個(gè)xml文件,會(huì)發(fā)現(xiàn)瀏覽器解析出一個(gè)帶樣式的視圖,而不再是單純的目錄樹(shù)了: 但是XML的處理指令不要求掌握,因?yàn)橛玫降暮苌佟?/p> 語(yǔ)法規(guī)范: XML聲明語(yǔ)句 以上是“XML有什么用法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
兩個(gè)程序間進(jìn)行數(shù)據(jù)通信?
2.需求2
給一臺(tái)4.XML語(yǔ)法
1.文檔聲明
2.元素
3.屬性
4.注釋
5.CDATA區(qū)、特殊字符
6.處理指令(processing instruction)4.1.XML語(yǔ)法-文檔聲明
XML聲明由以下幾個(gè)部分組成:
encoding –文檔字符編碼,比如”GB2312”或者”UTF-8”
standalone –文檔定義是否獨(dú)立使用
standalone=”no”為默認(rèn)值。yes代表是獨(dú)立使用,而no代表不是獨(dú)立使用4.2.XML語(yǔ)法-元素(或者叫標(biāo)記、節(jié)點(diǎn))
www.sohu.com
,簡(jiǎn)寫(xiě)為:
welcome to www.sohu.com
4.3.XML語(yǔ)法-屬性
<元素名 屬性名1="屬性值1" 屬性名2="屬性值2">
(4)屬性值不能包括<,>,&,如果一定要包含,也要使用實(shí)體4.4.XML語(yǔ)法-注釋
--
(2)不要把注釋放在標(biāo)記中間;
(3)注釋不能嵌套
(4)可以在除標(biāo)記以外的任何地方放注釋4.5.XML語(yǔ)法-CDATA節(jié)
]]>
外),但是不能嵌套!4.6.XML語(yǔ)法-處理指令
name{
font-size:80px;
font-weight:bold;
color:red;
}
sex{
font-size:60px;
font-weight:bold;
color:blue;
}
sex{
font-size:40px;
font-weight:bold;
color:green;
}
5.格式正規(guī)的XML文檔-小結(jié)
2.必須有一個(gè)根元素
3.標(biāo)記大小寫(xiě)敏感
4.屬性值用引號(hào)
5.標(biāo)記成對(duì)
6.空標(biāo)記關(guān)閉
7.元素正確嵌套1.XML歷史
(1)不能自定義標(biāo)簽
(2)html本身缺少含義
(3)html沒(méi)有真正的國(guó)際化
html->xhtml->xml2.為什么需要XML
兩個(gè)程序間進(jìn)行數(shù)據(jù)通信?
2.需求2
給一臺(tái)服務(wù)器,做一個(gè)配置文件,當(dāng)服務(wù)器程序啟動(dòng)時(shí),去讀取它應(yīng)當(dāng)監(jiān)聽(tīng)的端口號(hào),還有連接數(shù)據(jù)庫(kù)的用戶名和密碼?3.XML常見(jiàn)應(yīng)用
比如QQ之間的數(shù)據(jù)傳送,用XML格式來(lái)傳送數(shù)據(jù),具有良好的可讀性,可維護(hù)性
XML文件做配置文件可以說(shuō)非常普遍,比如我們的Tomcat服務(wù)器的server.xml,web.xml。再比如我們的structs中的structs-config.xml文件,和hibernate的hibernate.cfg.xml等等。
XML文件可以做小型數(shù)據(jù)庫(kù),也是不錯(cuò)的選擇,我們程序中可能用到一些經(jīng)常要人工配置的數(shù)據(jù),如果放在數(shù)據(jù)庫(kù)中讀取不合適(因?yàn)檫@會(huì)增加維護(hù)數(shù)據(jù)庫(kù)的工作),則可以考慮直接用XML來(lái)做小型數(shù)據(jù)庫(kù)。這種方式直接讀取文件顯然要比讀數(shù)據(jù)庫(kù)快。比如msn中保存用戶聊天記錄就是用XML文件。4.XML語(yǔ)法
1.文檔聲明
2.元素
3.屬性
4.注釋
5.CDATA區(qū)、特殊字符
6.處理指令(processing instruction)4.1.XML語(yǔ)法-文檔聲明
XML聲明由以下幾個(gè)部分組成:
encoding –文檔字符編碼,比如”GB2312”或者”UTF-8”
standalone –文檔定義是否獨(dú)立使用
standalone=”no”為默認(rèn)值。yes代表是獨(dú)立使用,而no代表不是獨(dú)立使用4.2.XML語(yǔ)法-元素(或者叫標(biāo)記、節(jié)點(diǎn))
www.sohu.com
,簡(jiǎn)寫(xiě)為:
welcome to www.sohu.com
4.3.XML語(yǔ)法-屬性
<元素名 屬性名1="屬性值1" 屬性名2="屬性值2">
(4)屬性值不能包括<,>,&,如果一定要包含,也要使用實(shí)體4.4.XML語(yǔ)法-注釋
--
(2)不要把注釋放在標(biāo)記中間;
(3)注釋不能嵌套
(4)可以在除標(biāo)記以外的任何地方放注釋4.5.XML語(yǔ)法-CDATA節(jié)
]]>
外),但是不能嵌套!4.6.XML語(yǔ)法-處理指令
name{
font-size:80px;
font-weight:bold;
color:red;
}
sex{
font-size:60px;
font-weight:bold;
color:blue;
}
sex{
font-size:40px;
font-weight:bold;
color:green;
}
5.格式正規(guī)的XML文檔-小結(jié)
2.必須有一個(gè)根元素
3.標(biāo)記大小寫(xiě)敏感
4.屬性值用引號(hào)
5.標(biāo)記成對(duì)
6.空標(biāo)記關(guān)閉
7.元素正確嵌套
本文名稱:XML有什么用法
網(wǎng)站網(wǎng)址:http://weahome.cn/article/peigie.html