XML 語法

2021-12-01 15:33 更新

XML 語法規(guī)則

本節(jié)的目的是想讓你了解 XML 中的語法所依據(jù)的規(guī)則,避免在編寫 XML 文檔的時候遇到錯誤。

XML 的語法規(guī)則很簡單,且很有邏輯。這些規(guī)則很容易學(xué)習(xí),也很容易使用。


xml聲明

一個xml文檔必須要有第一行的聲明和它的文檔元素的描述信息。

例子:

注:xml聲明一般是xml文檔的第一行;xml聲明由以下幾個部分組成:




所有的 XML 元素都必須有一個關(guān)閉標(biāo)簽

在 HTML 中,某些元素不必有一個關(guān)閉標(biāo)簽:

<p>This is a paragraph.
<br>

在 XML 中,省略關(guān)閉標(biāo)簽是非法的。所有元素都必須有關(guān)閉標(biāo)簽:

<?xml version="1.0" encoding="UTF-8" ?>
<p>This is a paragraph.</p>

注釋:從上面的實(shí)例中,您也許已經(jīng)注意到 XML 第一行中聲明沒有關(guān)閉標(biāo)簽,這不是錯誤,聲明不是 XML 文檔本身的一部分,它沒有關(guān)閉標(biāo)簽。


XML 標(biāo)簽對大小寫敏感

XML 標(biāo)簽對大小寫敏感。標(biāo)簽 <Message> 與標(biāo)簽 <message> 是不同的。

必須使用相同的大小寫來編寫打開標(biāo)簽和關(guān)閉標(biāo)簽:

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

注釋:打開標(biāo)簽和關(guān)閉標(biāo)簽通常被稱為開始標(biāo)簽和結(jié)束標(biāo)簽。不論您喜歡哪種術(shù)語,它們的概念都是相同的。


XML 必須正確嵌套

在 HTML 中,常會看到?jīng)]有正確嵌套的元素:

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

在 XML 中,所有元素都必須彼此正確地嵌套:

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

在上面的實(shí)例中,正確嵌套的意思是:由于 <i> 元素是在 <b> 元素內(nèi)打開的,那么它必須在 <b> 元素內(nèi)關(guān)閉。


XML 文檔必須有根元素

XML 文檔必須有一個元素是所有其他元素的父元素。該元素稱為根元素。

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


XML 屬性值必須加引號

與 HTML 類似,XML 元素也可擁有屬性(名稱/值的對)。

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

請研究下面的兩個 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>

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


實(shí)體引用

在 XML 中,一些字符擁有特殊的意義。

如果您把字符 "<" 放在 XML 元素中,會發(fā)生錯誤,這是因?yàn)榻馕銎鲿阉?dāng)作新元素的開始。

這樣會產(chǎn)生 XML 錯誤:

<message>if salary < 1000 then</message>

為了避免這個錯誤,請用實(shí)體引用來代替 "<" 字符:

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

在 XML 中,有 5 個預(yù)定義的實(shí)體引用:

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

注釋:在 XML 中,只有字符 "<" 和 "&" 確實(shí)是非法的。大于號是合法的,但是用實(shí)體引用來代替它是一個好習(xí)慣。


XML 中的注釋

在 XML 中編寫注釋的語法與 HTML 的語法很相似。

<!-- This is a comment -->

提示:你也可以了解一下“HTML <!--...--> 注釋標(biāo)簽”。


在 XML 中,空格會被保留

HTML 會把多個連續(xù)的空格字符裁減(合并)為一個:

HTML: Hello Tove
Output: Hello Tove

在 XML 中,文檔中的空格不會被刪減。


XML 以 LF 存儲換行

在 Windows 應(yīng)用程序中,換行通常以一對字符來存儲:回車符(CR)和換行符(LF)。

在 Unix 和 Mac OSX 中,使用 LF 來存儲新行。

在舊的 Mac 系統(tǒng)中,使用 CR 來存儲新行。

XML 以 LF 存儲換行。

以上就是在使用 XML 時需要注意到的語法規(guī)則,按照這些規(guī)則,編寫一個正確的 XML 文檔!


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號