《XML那些事...》 XML是什么?XML的快速入門

《XML那些事...》->跟隨『我』學(xué)習(xí)XML...

By:0x584A Date:2015年9月25日

第一章 XML是什么?XML的快速入門

1.什么是XML? 首先讓我們來看一段代碼

XML(可擴(kuò)展標(biāo)記語(yǔ)言)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE class [
    <!ELEMENT class ANY>
    <!ELEMENT person (name,time,msg,data)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT time (#PCDATA)>
    <!ELEMENT msg (#PCDATA)>
    <!ELEMENT data (#PCDATA)>
]>
<class>
    <person>
        <name>0x584A</name>
        <time>2015年9月25日 10:24:41</time>
        <msg>holle,world!</msg>
        <!--這里是CDATA區(qū)間-->
        <data><![CDATA[<XML的那些事...> -> 跟隨0x584A、學(xué)習(xí)XML.. ]]></data>
    </person>
</class>

讓我們來看看在瀏覽器運(yùn)行后的具體展現(xiàn)效果:
1.png

2.XML主要運(yùn)用做什么的?

相信網(wǎng)齡久的同學(xué)都見過有文件后綴是.xml的,這便是我們所說的XML文件。
最早在HTML流行起來之后,W3C組織嫌HTML語(yǔ)言的局限性,所以推出來XML,其目的是用于替換HTML語(yǔ)言

當(dāng)然,現(xiàn)在看來W3C的計(jì)劃并沒有成功。(然并卵⊙﹏⊙)

雖然XML并沒有取代HTML,但它其獨(dú)特的特性,讓其延續(xù)至今。

優(yōu)點(diǎn):

1. 高度自定義[標(biāo)簽]

2. 不同語(yǔ)言中的數(shù)據(jù)流通規(guī)范

3. XML是用來描述數(shù)據(jù)的。而在HTML中,數(shù)據(jù)是寫在HTML標(biāo)簽中的。

4. XML設(shè)計(jì)是用來描述數(shù)據(jù)的:重點(diǎn)是什么是數(shù)據(jù),怎么存放數(shù)據(jù)。而HTML則是用來顯示數(shù)據(jù):重點(diǎn)是怎么顯示數(shù)據(jù),及怎么更好的顯示數(shù)據(jù)。

一句話說明XML:XML是跨平臺(tái),與軟、硬件無關(guān)的,處理信息的工具(數(shù)據(jù)操作和數(shù)據(jù)傳輸?shù)墓ぞ?

額.. 來和大家分享一個(gè)笑話:

問:我該什么時(shí)候使用XML?

答:你可以在你的簡(jiǎn)歷里寫上你會(huì)XML..

3. 快速入門XML

根據(jù)上面最開始的那段代碼,讓我們來逐步分析下。

<?xml version="1.0" encoding="UTF-8"?>

第一條則是先進(jìn)行聲明,聲明這個(gè)XML版本為1.0,使用UTF-8字符集對(duì)其識(shí)別。

隨后的代碼則是用于DTD約束的。

<!-- 內(nèi)部 DOCTYPE 聲明 定義文檔是class類型文件 -->
<!DOCTYPE class [
    <!-- 元素class 通過類別關(guān)鍵字ANY聲明元素,可包含任何可解析的數(shù)據(jù)組合 -->
    <!ELEMENT class ANY>
    <!-- 定義person元素內(nèi)有四個(gè)元素 注意:約束順序也是節(jié)點(diǎn)順序 -->
    <!ELEMENT person (name,time,msg,data)>
    <!-- 定義name元素 為#PCDATA類型 -->
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT time (#PCDATA)>
    <!ELEMENT msg (#PCDATA)>
    <!ELEMENT data (#PCDATA)>
]>

那么這時(shí)就有人問了:

DTD是什么呢?

我們看看W3C上的解釋:

<b>文檔類型定義(DTD)可定義合法的XML文檔構(gòu)建模塊。它使用一系列合法的元素來定義文檔的結(jié)構(gòu)。</b>

額.. (其實(shí)就是句屁話,說了和沒說一樣...)

好吧,不吐槽了。其實(shí)就是給我們所寫的XML元素、屬性等做了規(guī)定限制,所寫的結(jié)構(gòu)必須遵循DTD約束。


讓我們來繼續(xù)看如下代碼:

<class>
    <person>
        <name>0x584A</name>
        <time>2015年9月25日 10:24:41</time>
        <msg>holle,world!</msg>
        <!--這里是CDATA區(qū)間-->
        <data><![CDATA[<XML的那些事...> -> 跟隨0x584A、學(xué)習(xí)XML.. ]]></data>
    </person>
</class>

有沒有發(fā)現(xiàn)什么?

是的,沒錯(cuò)它就是個(gè)樹結(jié)構(gòu)。讓我們看看DTD約束中,首先定義了根節(jié)點(diǎn)class,隨后又定義了person元素并在
person元素內(nèi)部存在四個(gè)元素name、time、msgdata。

其中呢有一個(gè)奇怪的東西,我們稱之為CDATA 區(qū)段,只有在區(qū)間中的文本會(huì)被解析器忽略掉,所以它原樣輸出了特殊的符號(hào)<>等...

好了、至此關(guān)于XML的快速入門結(jié)束了,你學(xué)會(huì)了多少呢? 下一章讓我們來學(xué)習(xí)XML的語(yǔ)法、元素及屬性吧 o(∩_∩)o







最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. XML簡(jiǎn)介 以下內(nèi)容來自于http://www.w3school.com.cn/xml 基本知識(shí) XML 和...
    WebSSO閱讀 2,092評(píng)論 1 7
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,172評(píng)論 1 92
  • 經(jīng)過兩天的奮戰(zhàn),終于把xml簡(jiǎn)略的過了一遍。 1.1XML介紹 xml是Extensible Markup lan...
    Ystrator閱讀 1,036評(píng)論 0 2
  • 我所看到的別人 讓人無法平靜下來的別人 都是連自己都羨慕的人。 我會(huì)思考,會(huì)幻想,想的也不過是別人而已。 而自己,...
    Cinephile1997閱讀 399評(píng)論 1 2

友情鏈接更多精彩內(nèi)容