首頁  >  文章  >  後端開發  >  XML標記語言的基本概念及文法的入門教學介紹(圖)

XML標記語言的基本概念及文法的入門教學介紹(圖)

黄舟
黄舟原創
2017-03-10 20:04:261732瀏覽

這篇文章主要介紹了XML標記語言的基本概念及語法入門教程,XML同時也被廣泛用作標記數據來作為XML數據交換格式,需要的朋友可以參考下


#XML 表示可擴充標記語言。它是一種基於文字的標記語言,源自於標準通用標記語言(SGML)。

XML 標籤標識資料以及用於儲存和組織數據,而不是指定如何顯示它,像 HTML 一樣用於顯示資料。不久的將來 XML 並不會取代 HTML,但它透過採用許多 HTML 中成功的特性引入了可能性。

這裡有XML 的三個重要特點,這使得它對各種各樣的系統和解決方案都有用:

XML 是可擴展:XML 允許我們創建自己的適合應用程式的自描述標籤或語言。
XML 承載數據,但不呈現它:XML 允許我們儲存數據,不管它會如何呈現。
XML 是一個公共標準:XML 有稱為萬維網聯盟(W3C)的組織開發,並且它可以作為一個開放標準。


XML 的用途
這個XML 用途的簡短清單說明了一切:

XML 可以在幕後工作以簡化為大型網站建立HTML 文檔。
XML 可以用來在組織和系統之間交換資訊。
XML 可以用來卸載和重新載入資料庫。
XML 可以用來儲存和整理數據,還可以自訂資料處理需求。
XML 很容易合併樣式表建立幾乎任何想要的輸出。
實際上,任何類型的資料都可以被表示為 XML 文件。


什麼是標記?
XML 是一種標記語言,它定義了一組按照人類可讀和機器可讀的格式編碼文件的規則。那麼究竟什麼是標記語言呢? 標記是添加給文件以某種方式改善其意義的訊息,它標識部分以及彼此之間如何關聯。更具體來說,標記語言就是一組符號,它可以放置到文件的文字中劃分和標記文件的某些部分。

下面這個例子展示了嵌入一塊文字的XML 標記看起來是什麼樣子:

<message>
    <text>Hello, world!</text>
</message>

這個片段包含標記符號或說是標籤,例如e2daf579f45d6c6feb003011d37ca22e 和28f128881ce1cdc57a572953e91f7d0f... 273e21371c5d5e701d3c98517a0bfa41。標籤 761b5f615852937c78510c6ee32be47a 和 dc97c94abba54b3574a1f2a9fcb1679b 表示這個 XML 程式碼片段的開始和結束。標籤 28f128881ce1cdc57a572953e91f7d0f 和 273e21371c5d5e701d3c98517a0bfa41 包裹著文字 Hello world!。

XML 是程式語言嗎?
一門用於建立電腦程式的程式語言由語法規則和它自己的詞彙表組成。這些程式指示電腦執行特定的任務。 XML 不具備成為一種程式語言的資格,因為它不執行任何計算或演算法。它通常儲存在簡單的文字檔案中,並透過能夠解釋 XML 的特殊軟體處理。

XML 語法
下面是一個完整的XML 文件:

<?xml version="1.0"?>
<concat-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</concat-info>

你可以注意到上面的例子中有兩種類型的訊息:

標記,例如a544f4562fd2b177be55ff2b68d8d27b。
文字或字元數據,如 _Tutorials Point和(011) 123-4567_。
下圖描述了在XML 文件中編寫不同類型標記和文字的語法規則:
XML標記語言的基本概念及文法的入門教學介紹(圖)

#我們來詳細看看上圖中的每個組成部分:

XML 宣告
XML 文件可以有一個可選的XML 宣告。它可以寫如下形式:

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


這裡 version 就是 XML 版本,encoding 指定文件中使用的字元編碼。

XML 宣告的語法規則

XML 宣告區分大小寫,必須以「8a82eb472d64dd53782fcc091813a312" 開頭,其中"xml」 是小寫的。
如果文件包含 XML 聲明,那麼它必須是 XML 文件的第一條語句。
XML 宣告必須是 XML 文件的第一個語句。
可以使用一個 HTTP 協定覆寫 XML 宣告中指定的 encoding 的值。


標籤和元素
一個 XML 檔案的結構由幾個 XML 元素組成,也稱為 XML 節點或 XML 標籤。 XML 元素的名稱使用尖括號6d267e5fab17ea8bc578f9e7e5e1570b 閉合,如下所示:

<element>

標籤和元素的語法規則

元素語法: 每個XML 元素都必須閉合或者帶有開始和結束元素,如下所示:

<element>....

或簡寫形式,就像這樣:

<element/>

元素巢狀: 一個XML 元素可以包含多個XML 元素作為它的子元素,但是子元素不能重疊。例如,一個元素的結束標籤必須與最近匹配的開始標籤具有相同的名稱。

下面的範例展示了不正確的巢狀標籤:

<?xml version="1.0"?>
<contact-info>
<company>TutorialsPoint   
<contact-info>
</company>

#下面的範例展示了正確的巢狀標籤:

<?xml version="1.0"?>
<contact-info>
<company>TutorialsPoint</company>
<contact-info>

根元素: 一個XML 文件只有一個根元素。例如,下面是一個不正確的 XML 文檔,因為 x 和 y 元素出現在頂層而沒有一個根元素:

<x>...</x>
<y>...</y>

#

下面的例子展示了正确形式的 XML 文档:

<root>
    <x>...</x>
    <y>...</y>
</root>

区分大小写: XML 元素的名称区分大小写。这意味着元素的起始和结束标签大小写必须一样。

例如 1e8dc3c754664c0739affa4dcf5121d9 和 __fe1be558c355044dbdab775b569281ef 就不同。

属性
attribute 使用名/值对给元素指定一个属性(property)。一个 XML 元素可以有一个或多个属性(attributes)。例如:

<a href="http://www.php.cn/">Tutorialspoint!</a>

这里 href 就是属性名称,而 http://www.php.cn/ 就是属性值。

XML 属性的语法规则

XML 属性名区分大小写(和 HTML 不一样)。也就是说 HREF 和 href 会被认为是两个不同的 XML 属性。
在语法中相同的属性不能有两个。下面的例子展示了不正确的语法,因为属性 b 被指定了两次:

<a b="x" c="y" b="z">....</a>

属性名定义不带引号标记,而属性值必须显示在引号标记中。下面的例子演示了不正确的 XML 语法:

<a b=x>....</a>

在上面的语法中,属性值没有定义在引号标记中。

XML 引用
引用 通常允许我们在 XML 文档中添加或包含附加的文本。引用始终以符号 "&" 开始,这是一个保留字符,以符号 ";" 结尾。XML 中有两种类型的引用:

实体引用: 一个实体引用的起始和结束定界符之间包含一个名称。比如 &,其中 amp 就是名称。这个 name 通常指向一个预定义的文本字符串或标记。

字符引用: 这些包含引用比如 A 包含一个 hash 标记("#"),后面紧跟一个数字。这个数字始终指向一个字符的 Unicode 码。在这里,65 指向字母 "A"。

XML 文本
XML 元素和 XML 属性的名称区分大小写。这意味着元素的开始和结束标签大小写必须一致。
为了避免字符编码的问题,所有的 XML 文件都应该保存为 Unicode UTF-8 或者 UTF-16 文件。
空白字符,比如空格,制表符以及 XML 元素和 XML 属性之间换行符会被忽略。
有些字符是 XML 语法本身保留的。因此,不能直接使用它们。要使用它们,就要使用一些替代实体。下面列出了一些:
XML標記語言的基本概念及文法的入門教學介紹(圖)


以上是XML標記語言的基本概念及文法的入門教學介紹(圖)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn