首頁 >後端開發 >XML/RSS教程 >XML教學-用一個例子來學習XML的語法的詳情

XML教學-用一個例子來學習XML的語法的詳情

黄舟
黄舟原創
2017-03-14 16:12:571405瀏覽

XML的文法規則既很簡單,又很嚴格。這些規則很容易學習,也很容易使用。 正因為如此,創建可讀取及操作XML的軟體並不是一件難事。 一個XML文件的例子 XML使用一種可自我描述的簡單的語法。 9c2dd14ebbb7764486d89bea34f902b5

接下來的4行描述了根元素的4個子元素(to, from, heading, 以及body):

<to>Tove</to>

<from>Jani</from>

<heading>Reminder</heading>

<body>Don&#39;t forget me this weekend!</body>

最後的一行定義了根元素的結尾:
9cdbc43ffb8d51970a9118e67b3fe241
我們可以看到,這個XML文件包含了一個由Jani留給Tove的便條。自我描述特性。 所有元素都須有關閉標籤

當使用XML時,省略關閉標籤是非法。


在HTML中,某些元素不一定要有關閉標籤。在HTML中下面的程式碼是合法的:

<p>This is a paragraph

<p>This is another paragraph

在XML中,所有的元素都要有關閉標籤:
<p>This is a paragraph</p>

<p>This is another paragraph</p>

註解
:您也許已經從上面的範例中註意到XML宣告沒有關閉標籤。這不是錯誤。聲明不屬於XML本身的組成部分。它不是XML元素,也不需要關閉標籤。 XML標籤對大小寫敏感

和HTML不同,XML標籤對大小寫敏感。


在XML中,標籤f8ed5fdd9e04cae1b683dd2635e1e6f2和標籤fabba62f13d4f8f2d3adb807e335e152是不同的。 所以必須使用相同的大小寫來開啟並關閉標籤:58613a913f649e803df57c76e6a932e4這是錯誤的。 dc97c94abba54b3574a1f2a9fcb1679b 761b5f615852937c78510c6ee32be47a這是正確的。 dc97c94abba54b3574a1f2a9fcb1679b XML必須被正確地巢狀
不正確的標籤巢狀對XML是沒有意義的。
在HTML中,某些元素可以不正確地彼此嵌套在一起,就像這樣:

<b><i>This text is bold and italic</b></i>

在XML中,所有的元素必須正確地彼此嵌套,就像這樣:a4b561c25d9afb9ac8dc4d70affff4195a8028ccc7a7e27417bff9f05adf5932This text is bold and italic72ac96585ae54b6ae11f849d2649d9e60d36329ec37a2cc24d42c7229b69747a XML文件必須有根元素

所有的XML必須包含可定義根元素的單一標籤對。

所有其他的元素都必須處於這個根元素內部。
所有的元素均可擁有子元素。子元素必須被正確地嵌套於它們的父元素內部:

<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會把多個連續的空格字元裁減為一個。 在XML中,CR / LF會被轉換為LF


在XML中,一個新的行(即換行)被儲存為LF(Line Feed,換行)。

您熟悉打字機嗎?打字機是上世紀用來製造印刷文件的機械設備。 :-)

當您用打字機鍵入了一行文字後,就需要手動將列印滑架移至左側頁邊空白的位置,並手動進紙(feed)一行。
在 Windows 應用程式中,新行通常儲存為一對字元:回車(CR)和換行(LF)。這個字元對與打字機的設定新行的動作有異曲同工之處。在Unix應用程式中,新行通常儲存為LF字元。而Macintosh應用程式僅使用CR字元來儲存新行。 XML中的註解
在XML中書寫註解的語法與HTML的語法類似:

<!-- This is a comment -->





XML没什么特殊之处


XML没什么特殊之处。它只是带有被括在角形括号中的标签的纯文本而已。
可处理纯文本文件的软件也可以处理XML。在一个简单的文本编辑器中,XML标签也可被显示出来,不会被特殊地对待。
在可识别XML的(XML-aware)应用程序中,XML标签会被专门处理。根据不同的应用程序种类,这些标签也许会/也许不会被看到,又或许拥有某种功能意义。                                                

以上是XML教學-用一個例子來學習XML的語法的詳情的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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