XML標(biāo)記語言的基本概念及語法入門教程
XML 表示可擴(kuò)展標(biāo)記語言。它是一種基于文本的標(biāo)記語言,源自標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)。
XML 標(biāo)簽標(biāo)識數(shù)據(jù)以及用于存儲(chǔ)和組織數(shù)據(jù),而不是指定如何顯示它,像 HTML 一樣用于顯示數(shù)據(jù)。不久的將來 XML 并不會(huì)取代 HTML,但是它通過采用許多 HTML 中成功的特性引入了可能性。
這里有 XML 的三個(gè)重要特點(diǎn),這使得它對各種各樣的系統(tǒng)和解決方案都有用:
XML 是可擴(kuò)展:XML 允許我們創(chuàng)建自己的適合應(yīng)用程序的自描述標(biāo)簽或者語言。
XML 承載數(shù)據(jù),但不呈現(xiàn)它:XML 允許我們存儲(chǔ)數(shù)據(jù),不管它會(huì)如何呈現(xiàn)。
XML 是一個(gè)公共標(biāo)準(zhǔn):XML 有叫做萬維網(wǎng)聯(lián)盟(W3C)的組織開發(fā),并且它可以作為一個(gè)開放標(biāo)準(zhǔn)。
XML 的用途
這個(gè) XML 用途的簡短列表說明了一切:
XML 可以在幕后工作以簡化為大型網(wǎng)站創(chuàng)建 HTML 文檔。
XML 可以用來在組織和系統(tǒng)之間交換信息。
XML 可以用來卸載和重新加載數(shù)據(jù)庫。
XML 可以用來存儲(chǔ)和整理數(shù)據(jù),還可以自定義數(shù)據(jù)處理需求。
XML 很容易合并樣式表創(chuàng)建幾乎任何想要的輸出。
實(shí)際上,任何類型的數(shù)據(jù)都可以被表示為 XML 文檔。
什么是標(biāo)記?
XML 是一種標(biāo)記語言,它定義了一組按照人類可讀和機(jī)器可讀的格式編碼文檔的規(guī)則。那么究竟什么是標(biāo)記語言? 標(biāo)記就是添加給文檔以某種方式改善其意義的信息,它標(biāo)識部分以及彼此之間如何關(guān)聯(lián)。更具體來說,標(biāo)記語言就是一組符號,它可以放置到文檔的文本中劃分和標(biāo)記文檔的某些部分。
下面這個(gè)例子展示了嵌入一塊文本的 XML 標(biāo)記看起來是什么樣子:
- <message>
- <text>Hello, world!</text>
- </message>
這個(gè)片段包含標(biāo)記符號或者說是標(biāo)簽,比如 <message>...</message> 和 <text>... </text>。標(biāo)簽 <message> 和 </message> 表示這個(gè) XML 代碼片段的開始和結(jié)束。標(biāo)簽 <text> 和 </text> 包裹著文本 Hello world!。
XML 是編程語言嗎?
一門用于創(chuàng)建計(jì)算機(jī)程序的編程語言由語法規(guī)則和它自己的詞匯表組成。這些程序指示計(jì)算機(jī)執(zhí)行特定的任務(wù)。XML 并不具備成為一種編程語言的資格,因?yàn)樗粓?zhí)行任何計(jì)算或者算法。它通常存儲(chǔ)在簡單的文本文件中,并通過能夠解釋 XML 的特殊軟件處理。
XML 語法
下面是一個(gè)完整的 XML 文檔:
- <?xml version="1.0"?>
- <concat-info>
- <name>Tanmay Patil</name>
- <company>TutorialsPoint</company>
- <phone>(011) 123-4567</phone>
- </concat-info>
你可以注意到上面的例子中有兩種類型的信息:
標(biāo)記,比如 <concat-info>。
文本或者字符數(shù)據(jù),比如 _Tutorials Point和(011) 123-4567_。
下圖描述了在 XML 文檔中編寫不同類型標(biāo)記和文本的語法規(guī)則:
我們來詳細(xì)看看上圖中的每個(gè)組成部分:
XML 聲明
XML 文檔可以有一個(gè)可選的 XML 聲明。它可以寫作如下形式:
<?xml version="1.0" encoding="UTF-8"?>
這里 version 就是 XML 版本,encoding 指定文檔中使用的字符編碼。
XML 聲明的語法規(guī)則
XML 聲明區(qū)分大小寫,必須以 "<?xml>" 開頭,其中 "xml" 是小寫的。
如果文檔包含 XML 聲明,那么它必須是 XML 文檔的第一條語句。
XML 聲明必須是 XML 文檔的第一條語句。
可以使用一個(gè) HTTP 協(xié)議覆蓋 XML 聲明中指定的 encoding 的值。
標(biāo)簽和元素
一個(gè) XML 文件的結(jié)構(gòu)由幾個(gè) XML 元素組成,也叫做 XML 節(jié)點(diǎn)或 XML 標(biāo)簽。XML 元素的名稱使用尖括號 < > 閉合,如下所示:
<element>
標(biāo)簽和元素的語法規(guī)則
元素語法: 每個(gè) XML 元素都必須閉合或者帶有開始和結(jié)束元素,如下所示:
<element>....</element>
或者簡寫形式,就像這樣:
<element/>
元素嵌套: 一個(gè) XML 元素可以包含多個(gè) XML 元素作為它的子元素,但是子元素不能重疊。比如,一個(gè)元素的結(jié)束標(biāo)簽必須與最近匹配的開始標(biāo)簽具有相同的名稱。
下面的例子展示了不正確的嵌套標(biāo)簽:
- <?xml version="1.0"?>
- <contact-info>
- <company>TutorialsPoint
- <contact-info>
- </company>
下面的例子展示了正確的嵌套標(biāo)簽:
- <?xml version="1.0"?>
- <contact-info>
- <company>TutorialsPoint</company>
- <contact-info>
根元素: 一個(gè) XML 文檔只有一個(gè)根元素。例如,下面是一個(gè)不正確的 XML 文檔,因?yàn)?x 和 y 元素出現(xiàn)在頂層而沒有一個(gè)根元素:
- <x>...</x>
- <y>...</y>
下面的例子展示了正確形式的 XML 文檔:
<root>
<x>...</x>
<y>...</y>
</root>
區(qū)分大小寫: XML 元素的名稱區(qū)分大小寫。這意味著元素的起始和結(jié)束標(biāo)簽大小寫必須一樣。
例如 <contact-info> 和 __<Contact-Info> 就不同。
屬性
attribute 使用名/值對給元素指定一個(gè)屬性(property)。一個(gè) XML 元素可以有一個(gè)或多個(gè)屬性(attributes)。例如:
- <a href="http://www.tutorialspoint.com/">Tutorialspoint!</a>
這里 href 就是屬性名稱,而 http://www.tutorialspoint.com/ 就是屬性值。
XML 屬性的語法規(guī)則
XML 屬性名區(qū)分大小寫(和 HTML 不一樣)。也就是說 HREF 和 href 會(huì)被認(rèn)為是兩個(gè)不同的 XML 屬性。
在語法中相同的屬性不能有兩個(gè)。下面的例子展示了不正確的語法,因?yàn)閷傩?b 被指定了兩次:
- <a b="x" c="y" b="z">....</a>
屬性名定義不帶引號標(biāo)記,而屬性值必須顯示在引號標(biāo)記中。下面的例子演示了不正確的 XML 語法:
- <a b=x>....</a>
在上面的語法中,屬性值沒有定義在引號標(biāo)記中。
XML 引用
引用 通常允許我們在 XML 文檔中添加或包含附加的文本。引用始終以符號 "&" 開始,這是一個(gè)保留字符,以符號 ";" 結(jié)尾。XML 中有兩種類型的引用:
實(shí)體引用: 一個(gè)實(shí)體引用的起始和結(jié)束定界符之間包含一個(gè)名稱。比如 &,其中 amp 就是名稱。這個(gè) name 通常指向一個(gè)預(yù)定義的文本字符串或標(biāo)記。
字符引用: 這些包含引用比如 A 包含一個(gè) hash 標(biāo)記("#"),后面緊跟一個(gè)數(shù)字。這個(gè)數(shù)字始終指向一個(gè)字符的 Unicode 碼。在這里,65 指向字母 "A"。
XML 文本
XML 元素和 XML 屬性的名稱區(qū)分大小寫。這意味著元素的開始和結(jié)束標(biāo)簽大小寫必須一致。
為了避免字符編碼的問題,所有的 XML 文件都應(yīng)該保存為 Unicode UTF-8 或者 UTF-16 文件。
空白字符,比如空格,制表符以及 XML 元素和 XML 屬性之間換行符會(huì)被忽略。
有些字符是 XML 語法本身保留的。因此,不能直接使用它們。要使用它們,就要使用一些替代實(shí)體。下面列出了一些:
相關(guān)文章
- 1.區(qū)分大小寫。2.屬性值必須加引號(單引號、雙引號都可以),一般情況下建議使用使用雙引號。2011-08-02
XML入門教程:XML語法-XML/XSLT-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
接著在瀏覽器中打開index.xml文檔,則可顯示“Hello World”。上面兩個(gè)文檔都是合法的XML文件,具體的語法規(guī)則下面會(huì)詳細(xì)介紹,上例可先給大家一個(gè)感性的認(rèn)識。合法的XML文2009-04-02XML教程:通過一個(gè)例子來學(xué)習(xí)XML的語法-XML/XSLT-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
XML的語法規(guī)則既很簡單,又很嚴(yán)格。這些規(guī)則很容易學(xué)習(xí),也很容易使用。 正因?yàn)槿绱?,?chuàng)建可讀取及操作XML的軟件不是一件難事。 一個(gè)XML文檔的例子 XML使用2008-10-17XML 語法-XML/XSLT-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
相關(guān)文章:什么是XML? 看一個(gè)簡單的XML文檔: <?xml version="1.0" encoding="ISO-8859-1"?> <people> <name>yufuzi</2008-10-17

