XML教程:通過一個例子來學(xué)習(xí)XML的語法
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-17 20:15:57 作者:佚名
我要評論

XML的語法規(guī)則既很簡單,又很嚴格。這些規(guī)則很容易學(xué)習(xí),也很容易使用。
正因為如此,創(chuàng)建可讀取及操作XML的軟件不是一件難事。
一個XML文檔的例子
XML使用一種可自我描述的簡單的語法。
<?xml version="1.0" encoding="ISO-8859-1&q
XML的語法規(guī)則既很簡單,又很嚴格。這些規(guī)則很容易學(xué)習(xí),也很容易使用。
正因為如此,創(chuàng)建可讀取及操作XML的軟件不是一件難事。 一個XML文檔的例子
XML使用一種可自我描述的簡單的語法。
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
此文檔中的第一行 - XML聲明 - 定義了XML的版本和文檔中使用的字符編碼。在這個例子中,遵守的是XML 1.0規(guī)范,并使用了ISO-8859-1字符集。
接下來的一行描述了文檔的根元素(就像是在說:“本文檔是一個便簽”):
<note>
接下來的4行描述了根元素的4個子元素(to, from, heading, 以及 body):
<to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body>
最后的一行定義了根元素的結(jié)尾:
</note>
我們可以看到,這個XML文檔包含了一個由Jani留給Tove的便簽。現(xiàn)在,您應(yīng)該會同意我們的上述觀點,即XML具有完美的自我描述特性。 所有元素都須有關(guān)閉標(biāo)簽
當(dāng)使用XML時,省略關(guān)閉標(biāo)簽是非法。
在HTML中,某些元素不一定要有關(guān)閉標(biāo)簽。在HTML中下面的代碼是合法的:
<p>This is a paragraph <p>This is another paragraph
在XML中,所有的元素都要有關(guān)閉標(biāo)簽:
<p>This is a paragraph</p> <p>This is another paragraph</p>
注釋:您也許已經(jīng)從上面的例子中注意到XML聲明沒有關(guān)閉標(biāo)簽。這不是錯誤。聲明不屬于XML本身的組成部分。它不是XML元素,也不需要關(guān)閉標(biāo)簽。 XML標(biāo)簽對大小寫敏感
和HTML不同,XML標(biāo)簽對大小寫敏感。
在XML中,標(biāo)簽<Letter>和標(biāo)簽<letter>是不同的。
所以必須使用相同的大小寫打開并關(guān)閉標(biāo)簽:
<Message>這是錯誤的。</message> <message>這是正確的。</message> XML必須被正確地嵌套
不正確的標(biāo)簽嵌套對XML是沒有意義的。
在HTML中,某些元素可以不正確地彼此嵌套在一起,就像這樣:
<b><i>This text is bold and italic</b></i>
在XML中,所有的元素必須正確地彼此嵌套,就像這樣:
<b><i>This text is bold and italic</i></b> XML文檔必須有根元素
所有的XML必須包含可定義根元素的單一標(biāo)簽對。
所有其他的元素都必須處于這個根元素內(nèi)部。
所有的元素均可擁有子元素。子元素必須被正確地嵌套于它們的父元素內(nèi)部:
<root> <child> <subchild>.....</subchild> </child> </root> XML的屬性值須加引號
在XML中,省略屬性值兩旁的引號是非法的。
和HTML類似,XML也可擁有屬性(名稱/值的對)。在XML中,XML的屬性值須加引號。請研究下面的兩個XML文檔。第一個是錯誤的,第二個是正確的:
<?xml version="1.0" encoding="ISO-8859-1"?> <note date=12/11/2002> <to>Tove</to> <from>Jani</from> </note>
<?xml version="1.0" encoding="ISO-8859-1"?> <note date="12/11/2002"> <to>Tove</to> <from>Jani</from> </note>
在第一個文檔中,日期屬性沒有加引號。這是正確的:date="12/11/2002"。這是錯誤的:date=12/11/2002。 在XML中,空格會被保留。
在XML中,空格不會被截掉。
這與HTML不同。在HTML中,像這樣的一個句子:
Hello my name is Tove,
會顯示為這樣:
Hello my name is Tove,
這是由于HTML會把多個連續(xù)的空格字符裁減為一個。 在XML中,CR / LF會被轉(zhuǎn)換為LF
在XML中,一個新的行(即換行)被存儲為LF(Line Feed,換行)。
您熟悉打字機嗎?打字機是上世紀用來制造印刷文檔的機械設(shè)備。:-)
當(dāng)您用打字機鍵入了一行文字后,就需要手動將打印滑架移至左側(cè)頁邊空白的位置,并手動進紙(feed)一行。
在 Windows 應(yīng)用程序中,新行通常存儲為一對字符:回車(CR)和換行(LF)。這個字符對與打字機的設(shè)置新行的動作有異曲同工之處。在Unix應(yīng)用程序中,新行通常存儲為LF字符。而Macintosh應(yīng)用程序僅使用CR字符來存儲新行。 XML中的注釋
在XML中書寫注釋的語法與HTML的語法類似:
<!-- This is a comment --> XML沒什么特殊之處
XML沒什么特殊之處。它只是帶有被括在角形括號中的標(biāo)簽的純文本而已。
可處理純文本文件的軟件也可以處理XML。在一個簡單的文本編輯器中,XML標(biāo)簽也可被顯示出來,不會被特殊地對待。
在可識別XML的(XML-aware)應(yīng)用程序中,XML標(biāo)簽會被專門處理。根據(jù)不同的應(yīng)用程序種類,這些標(biāo)簽也許會/也許不會被看到,又或許擁有某種功能意義。
相關(guān)文章
MIME類型中application/xml與text/xml的區(qū)別介紹
這篇文章介紹了MIME類型中application/xml與text/xml的區(qū)別,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-28- XML中擁有Schema特性,能夠比DTD更加強大地引入元素結(jié)構(gòu),下面我們就來詳解XML中的模式Schema的概念及作用和用法,需要的朋友可以參考下2021-11-30
- 這篇文章主要介紹了XML基本概念入門學(xué)習(xí)指南,包括其與HTML的關(guān)系以及元素和特殊標(biāo)簽等,需要的朋友可以參考下2016-06-24
- XML標(biāo)簽的自定義功能非常強大,比如本文將要講解的DTD(Document Type Definition)就帶給人們一種面向?qū)ο蟀愕母杏X,well,下面就來看一下XML中的DTD文件類型定義完全解析2016-06-24
- 這篇文章主要介紹了XML文件的閱讀與編輯,最常用的工具當(dāng)然還是瀏覽器中的控制臺與源代碼查看,需要的朋友可以參考下2016-02-16
- 這篇文章主要介紹了XML的命名空間,包括命名空間的聲明等XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-16
解析XML中的樹形結(jié)構(gòu)與DOM文檔對象模型
這篇文章主要介紹了XML中的樹形結(jié)構(gòu)與DOM文檔對象模型,文中舉了JavaScript解析DOM對象的例子,需要的朋友可以參考下2016-02-15- 這篇文章主要介紹了詳解XML編程中的模式定義XSD,講解了如何在XML文檔中聲明模式及定義類型等內(nèi)容,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML中的DTD文檔類型定義,是XML入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-02-15
- 這篇文章主要介紹了XML代碼編寫的編碼與驗證問題,與HTML類似,XML文件的編碼也能在序言部分被指定,需要的朋友可以參考下2016-02-15