首頁 >後端開發 >XML/RSS教程 >XML指南-XML 語法

XML指南-XML 語法

黄舟
黄舟原創
2017-02-11 15:31:151739瀏覽

  
XML的文法規則既簡單又嚴格,非常容易學習和使用。
正因為如此,編寫讀取和操作XML的軟體也是相對容易的事情。



一個XML文件的範例
XML文件使用了自描述的和簡單的語法。

<?xml version="1.0" encoding="ISO-8859-1"?> 
<note> 
<to>Lin</to> 
<from>Ordm</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>


文件的第1行:XML聲明-定義此文件所遵循的XML標準的版本,在這個例子裡是1.0版本的標準,使用的是ISO-8859-1 (Latin-1/West European)字符集。
文檔的第2行是根元素(就像是說「這篇文檔是一個便條」): 



文檔的第3--6行描述了根元素的四個子節點(to, from, heading,和 body):

<to>Lin</to> 
<from>Ordm</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body>


文件的最後一行是根元素的結束:


你能從這個文檔中看出這是Ordm給Lin留的便條?難道能不承認XML是一種美麗的自描述語言麼?

所有的XML文件必須有一個結束標記
在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中, 標記與標記是兩個不同的標記。
因此在XML文件中開始標記和結束標記的大小寫必須保持一致。

<Message>This is incorrect</message>   //错误的 
<message>This is correct</message>     //正确的

所有的XML元素必須合理包含
在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文件中的第一個元素就是根元素。
所有XML文件都必須包含一個單獨的標記來定義,所有其他元素的都必須成對的在根元素中嵌套。 XML文檔有且只能有一個根元素。
所有的元素都可以有子元素,子元素必須正確的嵌套在父元素中,下面的程式碼可以形象的說明:

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

屬性值必須使用引號""
在XML中,元素的屬性值沒有引號引著是不符合規定的。
如同HTML一樣,XML元素同樣也可以擁有屬性。 XML元素的屬性以名字/值成對的出現。 XML語法規範要求XML元素屬性值必須以引號引著。請看下面的兩個例子,第一個是錯的,第二個是正確的。

 
 
<to>Lin</to> 
<from>Ordm</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<note date="12/11/99"> 
<to>Tove</to> 
<from>Jani</from> 
<heading>Reminder</heading> 
<body>Don&#39;t forget me this weekend!</body> 
</note>

第一個文檔的錯誤之處是屬性值沒有用引號引著。
正確的寫法是: date="12/11/99". 不正確的寫法: date=12/11/99.

使用XML,空白將被保留
在XML中,空白部分不會被解析器自動刪除。
這一點與HTML是不同的。在HTML中,這樣的一句話:
"Hello              my name is Ordm"將會被顯示成:「Hello my name is Ordm」, 1575 位元組會被顯示為直接句子中的空白。

使用XML, CR / LF 轉換為 LF
使用 XML, 新行總是被識別為 LF(Line Feed,換行)。
你知道打字機是什麼?呵呵,打字機是在上個世紀使用的一種專門打字的機器。 ^&^
當你用打字機敲完一行字後,你通常不得不再把打字頭移到紙的左端。 
在Windows應用程式中,文字中的新行通常標識為 CR LF (carriage return, line feed,回車,換行)。在Unix應用程式中,新行通常被識別為 LF。還有一些應用程式只使用CR來表示一個新行。

XML中的註解
在XML中註解的語法基本上和HTML中的一樣。
 

XML並沒有什麼特別的哦
XML確實沒有什麼特別的地方。他只是一些用尖括號擴在一起的普通的純文字。
編輯普通文字的軟體也可以編輯XML文件。
然而在一個支援XML的應用程式中,XML標記往往對應著特殊的操作,有些標記可能是可見的,而有些標記則可能不會顯示出來,而不會有什麼特殊的操作。            

以上就是XML指南-XML 文法的內容,更多相關內容請關注PHP中文網(www.php.cn)!


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