App下載

XML跟HTML有哪些差別?XML的優(yōu)勢在哪?

猿友 2020-12-30 13:49:45 瀏覽數(shù) (4854)
反饋

一、XML導讀

XML 是獨立于軟件和硬件的信息傳輸工具。XML 是 W3C 的推薦標準。XML 無所不在,當我們看到 XML 標準突飛猛進的開發(fā)進度,和大批的軟件開發(fā)商采取這個標準的日新月異的速度時,真的是不由感嘆這真的使人嘆為觀止。

目前,XML 在 Web 中起到的作用不會亞于一直作為 Web 基石的 HTML 。XML 是各種利用程序之間進行數(shù)據(jù)傳輸?shù)淖罱?jīng)常使用的工具,并且在信息存儲和描寫領域變得越來越流行。想要學習XML,可以通過XML.DOM教程

二、XML基本概述

XML(可擴大標記語言),標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包括各種的信息比如文章等。

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

三、什么是XML?

  1. XML 是指可擴大標記語言(EXtensible Markup Language)
  2. XMl 是一種標記語言,很類似 HTML (超文本標記語言)
  3. XML 的設計主旨是傳輸數(shù)據(jù),而非顯示數(shù)據(jù)
  4. XML 標簽沒有被預定義,您需要自行定義標簽
  5. XML 被設計為具有自我描寫性
  6. XML 是 W3C 的推薦標準

四、XML與HTML的主要差異

  1. XML 和 HTML 為不同的目的而設計
  2. XML 被設計為傳輸和存儲數(shù)據(jù),其焦點是數(shù)據(jù)的內(nèi)容
  3. HTML 被設計用來顯示數(shù)據(jù),其焦點是數(shù)據(jù)的外觀
  4. HTML 旨在顯示信息,而 XML 旨在傳輸信息
  5. XML 不是對 HTML 的替換,XML 是對 HTML 的補充
  6. XML 不會替換 HTML,理解這一點很重要。在大多數(shù) Web 利用程序中,XML 用于傳輸數(shù)據(jù),而 HTML 用于格式化并顯示數(shù)據(jù)

五、為何需要 XML

  1. 解決了數(shù)據(jù)傳輸不規(guī)范的問題
  2. 可以非常好的描寫樹形結構的事物
  3. 可以用作配置文件

六、沒有任何行動的 XML

XML 是不作為的?;蛟S這有點難以理解,但是 XML 不會做任何事情。XML 被設計用來結構化、存儲和傳輸息。

我們在這里舉一個在記事本書寫的簡單例子來講明一下。

下面是一個書籍列表,存儲為 XML:

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

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

七、XML僅僅是純文本

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

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

上例中的標簽沒有在任何 XML 標準中定義過(比如<bookname>和<price>等等)。這些標簽是由文檔的創(chuàng)作者發(fā)明的。這是由于 XML 沒有預定義的標簽。XML 允許創(chuàng)作者定義自己的標簽和自己的文檔結構。

在 HTML 中使用的標簽(和 HTML 的結構)是預定義的。HTML 文檔只使用在 HTML 標準中定義過的標簽(比如<p>,<h1>等等)。

九、XML樹結構

我們在上面的書籍實例中可以看出 XML 文檔構成了一種樹結構,它從“根部”開始,然后擴大到“枝葉”。

一個 XML 文檔實例

XML使用簡單的具有自我描寫性的語法:

<?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等);

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

接下來4行描寫根的4個子元素(to、from、heading和body):
<to>George</to>
<from>John</from>

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

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


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

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

XML 文檔構成一種樹結構

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

XML 文檔中的元素構成了一棵文檔樹。這棵樹從根部開始,并擴大到樹的最底端。

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

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

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

實例:

微信截圖_20201230112330

上圖表示下面的 XML 中的一本書:

<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 個子元素:

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

十、XML用處

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

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

如果你需要在 HTML 文檔中顯示動態(tài)數(shù)據(jù),那末每當數(shù)據(jù)改變時將花費大量的時間來編輯 HTML。通過 XML,數(shù)據(jù)能夠存儲在獨立的XML 文件中。這樣你就能夠專注于使用 HTML 進行布局和顯示,并確保修改底層數(shù)據(jù)不再需要對 HTML 進行任何的改變。通過使用幾行JavaScript,你就能夠讀取一個外部 XML 文件,然后更新 HTML 中的數(shù)據(jù)內(nèi)容。

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

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

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

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

(4)XML簡化平臺的變更

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

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

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

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

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

  • XHTML - 最新的HTML版本
  • WSDL - 用于描寫可用的web service
  • WAP 和 WML - 用于手持裝備的標記語言
  • RSS - 用于RSS feed的語言
  • RDF 和 OWL - 用于描寫資源和本體
  • SMIL - 用于描寫針針對web的多媒體

您還可以通過XML實例去實踐并掌握

以及XML測驗評估您的學習狀況


0 人點贊