溫馨提示×

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

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

XML跟HTML有哪些區(qū)別

發(fā)布時(shí)間:2022-02-21 10:02:11 來(lái)源:億速云 閱讀:122 作者:iii 欄目:開(kāi)發(fā)技術(shù)

今天小編給大家分享一下XML跟HTML有哪些區(qū)別的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

一、XML導(dǎo)讀

XML 是獨(dú)立于軟件和硬件的信息傳輸工具。XML 是 W3C 的推薦標(biāo)準(zhǔn)。XML 無(wú)所不在,當(dāng)我們看到 XML 標(biāo)準(zhǔn)突飛猛進(jìn)的開(kāi)發(fā)進(jìn)度,和大批的軟件開(kāi)發(fā)商采取這個(gè)標(biāo)準(zhǔn)的日新月異的速度時(shí),真的是不由感嘆這真的使人嘆為觀止。

目前,XML 在 Web 中起到的作用不會(huì)亞于一直作為 Web 基石的 HTML 。XML 是各種利用程序之間進(jìn)行數(shù)據(jù)傳輸?shù)淖罱?jīng)常使用的工具,并且在信息存儲(chǔ)和描寫(xiě)領(lǐng)域變得越來(lái)越流行。

二、XML基本概述

XML(可擴(kuò)大標(biāo)記語(yǔ)言),標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言的子集,是一種用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言。在電子計(jì)算機(jī)中,標(biāo)記指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)記,計(jì)算機(jī)之間可以處理包括各種的信息比如文章等。

它可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。它非常適合萬(wàn)維網(wǎng)傳輸,提供統(tǒng)一的方法來(lái)描寫(xiě)和交換獨(dú)立于利用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)。是 Internet 環(huán)境中跨平臺(tái)的、依賴于內(nèi)容的技術(shù),也是現(xiàn)今處理散布式結(jié)構(gòu)信息的有效工具。早在1998年,W3C 就發(fā)布了 XML1.0 規(guī)范,使用它來(lái)簡(jiǎn)化 Internet 的文檔信息傳輸。

三、什么是XML?

  1. XML 是指可擴(kuò)大標(biāo)記語(yǔ)言(EXtensible Markup Language)

  2. XMl 是一種標(biāo)記語(yǔ)言,很類似 HTML (超文本標(biāo)記語(yǔ)言)

  3. XML 的設(shè)計(jì)主旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)

  4. XML 標(biāo)簽沒(méi)有被預(yù)定義,您需要自行定義標(biāo)簽

  5. XML 被設(shè)計(jì)為具有自我描寫(xiě)性

  6. XML 是 W3C 的推薦標(biāo)準(zhǔn)

四、XML與HTML的主要差異

  1. XML 和 HTML 為不同的目的而設(shè)計(jì)

  2. XML 被設(shè)計(jì)為傳輸和存儲(chǔ)數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的內(nèi)容

  3. HTML 被設(shè)計(jì)用來(lái)顯示數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的外觀

  4. HTML 旨在顯示信息,而 XML 旨在傳輸信息

  5. XML 不是對(duì) HTML 的替換,XML 是對(duì) HTML 的補(bǔ)充

  6. XML 不會(huì)替換 HTML,理解這一點(diǎn)很重要。在大多數(shù) Web 利用程序中,XML 用于傳輸數(shù)據(jù),而 HTML 用于格式化并顯示數(shù)據(jù)

五、為何需要 XML

  1. 解決了數(shù)據(jù)傳輸不規(guī)范的問(wèn)題

  2. 可以非常好的描寫(xiě)樹(shù)形結(jié)構(gòu)的事物

  3. 可以用作配置文件

六、沒(méi)有任何行動(dòng)的 XML

XML 是不作為的。或許這有點(diǎn)難以理解,但是 XML 不會(huì)做任何事情。XML 被設(shè)計(jì)用來(lái)結(jié)構(gòu)化、存儲(chǔ)和傳輸息。

我們?cè)谶@里舉一個(gè)在記事本書(shū)寫(xiě)的簡(jiǎn)單例子來(lái)講明一下。

下面是一個(gè)書(shū)籍列表,存儲(chǔ)為 XML:

<?xml version="1.0" encoding="gb2312"?> 
<書(shū)籍列表> 
    <計(jì)算機(jī)書(shū)籍> 
        <bookname>XML利用大全</bookname> 
        <price>39.00</price> 
    </計(jì)算機(jī)書(shū)籍> 
    <計(jì)算機(jī)書(shū)籍> 
        <bookname>Java利用大全</bookname>
        <price>139.00</price> 
    </計(jì)算機(jī)書(shū)籍> 
    <計(jì)算機(jī)書(shū)籍>
        <bookname>Oracle利用大全</bookname> 
        <price>59.00</price>
    </計(jì)算機(jī)書(shū)籍>
</書(shū)籍列表>

上面的這條便簽具有自我描寫(xiě)性。它具有標(biāo)題和留言,同時(shí)包括了發(fā)送者和接受者的信息。但是,這個(gè) XML 文檔依然沒(méi)有做任何事情。它僅僅是包裝在 XML 標(biāo)簽中單純的信息。我們需要編寫(xiě)軟件或程序,才能傳送、接收和顯示出這個(gè)文檔。

七、XML僅僅是純文本

 XML 沒(méi)什么特別的。它僅僅是純文本而已。有能力處理純文本的軟件都可以處理 XML。不過(guò),能夠讀懂 XML 的應(yīng)用程序可以有針對(duì)性地處理 XML 的標(biāo)簽。標(biāo)簽的功能性意義依賴于利用程序的特性。這里的內(nèi)容我們會(huì)在以后的內(nèi)容中逐步體會(huì)到 XML 標(biāo)簽的作用。

八、通過(guò) XML 您可以發(fā)明自己的標(biāo)簽

上例中的標(biāo)簽沒(méi)有在任何 XML 標(biāo)準(zhǔn)中定義過(guò)(比如<bookname>和<price>等等)。這些標(biāo)簽是由文檔的創(chuàng)作者發(fā)明的。這是由于 XML 沒(méi)有預(yù)定義的標(biāo)簽。XML 允許創(chuàng)作者定義自己的標(biāo)簽和自己的文檔結(jié)構(gòu)。

在 HTML 中使用的標(biāo)簽(和 HTML 的結(jié)構(gòu))是預(yù)定義的。HTML 文檔只使用在 HTML 標(biāo)準(zhǔn)中定義過(guò)的標(biāo)簽(比如<p>,<h2>等等)。

九、XML樹(shù)結(jié)構(gòu)

我們?cè)谏厦娴臅?shū)籍實(shí)例中可以看出 XML 文檔構(gòu)成了一種樹(shù)結(jié)構(gòu),它從“根部”開(kāi)始,然后擴(kuò)大到“枝葉”。

一個(gè) XML 文檔實(shí)例

XML使用簡(jiǎn)單的具有自我描寫(xiě)性的語(yǔ)法:

<?xml version="1.0" encoding="UTF⑻"?> 
<note> 
    <to>George</to> 
    <from>John</from> 
    <heading>Reminder</heading> 
    <body>Don't forget the meeting!</body>
</note>

第一行是 XML 聲明。它定義 XML 的版本(1.0)和所使用的編碼(UTF-8,GBK等);

下一行描寫(xiě)文檔的根元素(像在說(shuō):“本文檔是一個(gè)便簽”):<note>;

接下來(lái)4行描寫(xiě)根的4個(gè)子元素(to、from、heading和body):
<to>George</to>
<from>John</from>

<heading>Reminder</heading>
<body>Don't forget the meeting!</body>;

最后一行定義根元素的結(jié)尾:</note>。

從本例可以假想,該 XML 文檔包括了John給George的一張便簽。

XML 具有出色的自我描寫(xiě)性,你同意嗎?

XML 文檔構(gòu)成一種樹(shù)結(jié)構(gòu)

XML 文檔必須包括根元素。該元素是所有其他元素的父元素。

XML 文檔中的元素構(gòu)成了一棵文檔樹(shù)。這棵樹(shù)從根部開(kāi)始,并擴(kuò)大到樹(shù)的最底端。

所有元素都可具有子元素:

<root> <child> <subchild>.....</subchild> </child> </root>

父、子和同胞等術(shù)語(yǔ)用于描寫(xiě)元素之間的關(guān)系。父元素具有子元素。相同層級(jí)上的子元素成為同胞(兄弟或姐妹)。所有元素都可具有文本內(nèi)容和屬性(類似 HTML 中)。

表示下面的 XML 中的一本書(shū):

<bookstore>

    <book category="COOKING"> 

        <title lang="en">Everyday Italian</title> 

        <author>Giada De Laurentiis</author> 

        <year>2005</year> 

        <price>30.00</price> 

    </book> 

    <book category="CHILDREN"> 

        <title lang="en">Harry Potter</title> 

        <author>J K. Rowling</author> 

        <year>2005</year> 

        <price>29.99</price> 

    </book> 

    <book category="WEB"> 

        <title lang="en">Learning XML</title> 

        <author>Erik T. Ray</author> 

        <year>2003</year> 

        <price>39.95</price> 

    </book> 

</bookstore>

例子中的根元素是<bookstore>。文檔中的所有<book>元素都被包括在<bookstore>中。<book>元素有 4 個(gè)子元素:

<title>、< author>、<year>、<price>。

十、XML用處

XML 經(jīng)常使用于簡(jiǎn)化數(shù)據(jù)的存儲(chǔ)和共享

(1)XML 把數(shù)據(jù)從 HTML 分離

如果你需要在 HTML 文檔中顯示動(dòng)態(tài)數(shù)據(jù),那末每當(dāng)數(shù)據(jù)改變時(shí)將花費(fèi)大量的時(shí)間來(lái)編輯 HTML。通過(guò) XML,數(shù)據(jù)能夠存儲(chǔ)在獨(dú)立的XML 文件中。這樣你就能夠?qū)W⒂谑褂?HTML 進(jìn)行布局和顯示,并確保修改底層數(shù)據(jù)不再需要對(duì) HTML 進(jìn)行任何的改變。通過(guò)使用幾行JavaScript,你就能夠讀取一個(gè)外部 XML 文件,然后更新 HTML 中的數(shù)據(jù)內(nèi)容。

(2)XML簡(jiǎn)化數(shù)據(jù)同享

在真實(shí)的世界中,計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)使用不兼容的格式來(lái)存儲(chǔ)數(shù)據(jù)。XML 數(shù)據(jù)以純文本格式進(jìn)行存儲(chǔ),因此提供了一種獨(dú)立于軟件和硬件的數(shù)據(jù)存儲(chǔ)方法。這讓創(chuàng)建不同利用程序可以同享的數(shù)據(jù)變得更加容易。

(3)XML簡(jiǎn)化數(shù)據(jù)傳輸

通過(guò) XML,可以在不兼容的系統(tǒng)之間輕松地交換數(shù)據(jù)。對(duì)開(kāi)發(fā)人員來(lái)講,其中一項(xiàng)最費(fèi)時(shí)的挑戰(zhàn)一直是在因特網(wǎng)上的不兼容系統(tǒng)之間交換數(shù)據(jù)。由于可以通過(guò)各種不兼容的利用程序來(lái)讀取數(shù)據(jù),以 XML 交換數(shù)據(jù)下降了這類復(fù)雜性。

(4)XML簡(jiǎn)化平臺(tái)的變更

升級(jí)到新的系統(tǒng)(硬件或軟件平臺(tái)),總是非常費(fèi)時(shí)的。必須轉(zhuǎn)換大量的數(shù)據(jù),不兼容的數(shù)據(jù)常常會(huì)丟失。XML 數(shù)據(jù)以文本格式存儲(chǔ)。這使得 XML 在不損失數(shù)據(jù)的情況下,更容易擴(kuò)大或升級(jí)到新的操作系統(tǒng)、新利用程序或新的瀏覽器。

(5)XML使您的數(shù)據(jù)更有用

由于 XML 獨(dú)立于硬件、軟件和利用程序,XML 使您的數(shù)據(jù)更可用,也更有用。不同的利用程序都能夠訪問(wèn)您的數(shù)據(jù),不單單在 HTML 頁(yè)中,也能夠從 XML 數(shù)據(jù)源中進(jìn)行訪問(wèn)。通過(guò) XML,您的數(shù)據(jù)可供各種瀏覽裝備使用(手持的計(jì)算機(jī)、語(yǔ)音裝備、新聞瀏覽器等),還可以供盲人或其他殘障人士使用。

(6)XML用于創(chuàng)建新的Internet語(yǔ)言

很多新的Internet語(yǔ)言是通過(guò)XML創(chuàng)建的,其中的例子包括:

  • XHTML - 最新的HTML版本

  • WSDL - 用于描寫(xiě)可用的web service

  • WAP 和 WML - 用于手持裝備的標(biāo)記語(yǔ)言

  • RSS - 用于RSS feed的語(yǔ)言

  • RDF 和 OWL - 用于描寫(xiě)資源和本體

  • SMIL - 用于描寫(xiě)針針對(duì)web的多媒體

以上就是“XML跟HTML有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

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

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

AI