最新的Web開發教程
 

XML語法規則


XML的語法規則非常簡單的邏輯。 規則很容易學習,而且易於使用。


XML文檔必須有根元素

XML文檔必須包含一個元素,它是parent的所有其他元素:

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

在這個例子中<注>是根元素:

<?xml version="1.0" encoding="UTF-8 " ?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

該XML序言

這條線被稱為XML 序言

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

該XML序言是可選的。 如果它存在,它必須是第一個在文檔中。

XML文檔可以包含國際字符,如挪威的OA或法語EE。

為了避免錯誤,應指定使用的編碼,或XML文件保存為UTF-8。

UTF-8是XML文檔的默認字符編碼。

字符編碼可以在我們進行研究的字符集教程

UTF-8也是HTML5,CSS,JavaScript的,PHP和SQL的默認編碼。


所有的XML元素必須有一個結束標記

在HTML中,某些元素可能會工作得很好,即使缺少結束標記:

<p>This is a paragraph.
<br>

在XML中,它是非法的省略結束標記。 所有元素都must有結束標籤:

<p>This is a paragraph.</p>
<br />

該XML序言沒有關閉標籤。
這不是錯誤。 序言不是XML文檔的一部分。


XML標記區分大小寫

XML標記區分大小寫。 標籤<Letter>是從標籤不同的<letter>

開始和結束標記必須使用相同的情況下寫的:

<Message>This is incorrect</message>
<message>This is correct</message>

“打開和關閉標籤”往往被稱為"Start and end tags" 。 使用任何你喜歡。 它是完全一樣的東西。


XML元素必須正確嵌套

在HTML中,您可能會看到不正確嵌套的元素:

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

在XML中,所有元素都must正確地相互嵌套:

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

在上面的例子中, "Properly nested"只是意味著,自<i>元素被打開裡面<b>元素,它必須在內部封閉<b>元素。


XML的屬性值須加引號

XML元素可以在名稱/值對的屬性,就像在HTML。

在XML中,屬性值須加引號。

錯誤:

<note date=12/11/2007>
  <to>Tove</to>
  <from>Jani</from>
</note>

正確:

<note date="12/11/2007">
  <to>Tove</to>
  <from>Jani</from>
</note>

第一個文檔中的錯誤是date的說明元素屬性沒有加引號。


實體引用

一些字符在XML中的特殊含義。

如果將像一個字符"<" XML元素在裡面,它會因為解析器解釋為新元素的開始產生錯誤。

這將產生一個XML錯誤:

<message>salary < 1000</message>

為了避免這種錯誤,更換"<"與字符entity reference :

<message>salary &lt; 1000</message>

有五個在XML文檔預先定義的實體引用:

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
&quot; " quotation mark

只有<和&是XML嚴格非法的,但它是一個好的習慣來代替>與&GT; 為好。


在XML註釋

以XML寫的評論的語法類似於HTML的。

<! - 這是註釋 - >

在註釋中間的兩個破折號是不允許的。

不允許:

<!-- This is a -- comment -->

奇怪,但允許:

<!-- This is a - - comment -->

白色空間被保留的XML

XML不會截斷多的空格(HTML截斷多個白色空格一個單一的空格):

XML: Hello           Tove
HTML: Hello Tove

XML存儲新線作為LF

Windows應用程序存儲新線:回車和換行符(CR+LF)

Unix和Mac OSX使用LF。

舊Mac系統使用CR。

XML存儲新線LF。


良好的XML

符合上述的語法規則的XML文檔說是"Well Formed"的XML文檔。