XML語法


本章將帶您通過簡單的語法規則來編寫一個XML文件。以下是一個完整的XML文件:

<?xml version="1.0"?>
<contact-info>
<name>Tanmay Patil</name>
<company>YiiBai</company>
<phone>(011) 123-4567</phone>
</contact-info>

你可以注意在上述的例子上有兩種型別的資訊:

  • markup, like <contact-info> and

  • 該 文字, 或 該 性格 資料, Tutorials Point and (040) 123-4567.

下圖描述了語法規則的XML文件中編寫不同型別的標記和文字.

XML語法規則

讓我們來看看詳細上圖中的每個組成部分:

XML宣告

XML文件可以有一個XML宣告。它可寫為以下:

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

這裡 版本是 XML版本和 編碼 指定文件中的字元編碼.

XML宣告的句法規則

  • XML宣告是區分大小寫的,並且必須以“&LT;?XML和GT;”與“XML”是用小寫寫入.

  • 如果文件中包含的XML宣告,它應該是XML文件的第一條語句.

  • XML宣告應該是XML文件的第一條語句.

  • 一個HTTP協定可以覆蓋的值 編碼 你在XML宣告中使用.

標記和元素

XML檔案是由幾個XML元素,也稱為XML節點或XML的標記結構。 XML元素的名稱是由三角支架&LT封閉;與GT;如下所示:

<element>

標籤和元素的句法規則

元素句法 : 每個XML元素需要被關閉或者與起始或結尾的元素,如下所示:

<element>....</element>

或者在簡單的情況下,僅僅是這樣:

<element/>

元素的巢狀 : 一個XML元素可以包含多個XML元素作為它的孩子,但孩子們的元素不能重疊。例如,一個元件的端標籤必須具有相同的名字而最近匹配的開始標記.

下面的例子顯示不正確的巢狀標籤:

<?xml version="1.0"?>
<contact-info>
<company>YiiBai
<contact-info>
</company>

下面的範例演示正確的巢狀標籤:

<?xml version="1.0"?>
<contact-info>
<company>YiiBai</company>
<contact-info>

根元素 : 一個XML文件只能有一個根元素。例如,下面是不是一個正確的XML文件,因為無論是X和Y的元素出現在頂層沒有一個根元素:

<x>...</x>
<y>...</y>

下面的例子展示了一個正確的XML文件:

<root>
   <x>...</x>
   <y>...</y>
</root>

區分大小寫 : XML的元素名稱是區分大小寫的。這意味著在啟動的名稱和端元件必須在同樣的巨細寫.

例如 <contact-info> 這是不同於 <Contact-Info>.

屬性

一個屬性指定元素的單個屬性。使用名稱/值對的XML元素可以具有一個或多個屬性。例如:

<a href="https://www.tw511.com/">Yiibai!</a>

在這裡 href 是該屬性的名稱和 https://www.tw511.com/ 是屬性值

XML屬性的句法規則

<a b="x" c="y" b="z">....</a>
<a b=x>....</a>

在上面的語法,屬性值不會下引號定義.

  • 屬性名稱以XML(不像HTML)是大小寫敏感的. HREF and href 這被認為是兩個不同的XML屬性.

  • 相同的屬性不能有一個語法兩個值。下面的例子顯示,因為該屬性指定了兩次不正確的句法:

  • 屬性名稱定義不帶引號,而屬性值必須始終出現在引號中。下面的例子演示了不正確XML句法:

XML的參考資料

參考 通常允許您新增或包含在XML文件中其他文字或標記 "&" ,參考資料總是以符號的放大器,這是一個保留字元和符號的”結尾 ";". XML有兩種型別參考:

實體參考 : 實體參照包含起始和結束定界符之間的名稱.例如 &amp; 在這裡 amp 是 名稱. 這個名字指一個預定義的字串文字或標記.

字元參 : 這些包含參考,如 &#65;,包含一個hash符號(“#”) 後面跟一個數位. 數總是指一個字元的Unicode程式碼。在這種情況下,65指的是字母 "A".

XML文字

  • XML的元素和XML的屬性的名稱是區分大小寫的,這意味著開始和結束元素的名稱必須寫在相同的大小寫.

  • 為了避免字元編碼的問題,所有的XML檔案儲存為Unicode UTF-8或UTF-16檔案.

  • 空白字元,如空格,製表符和XML元素之間和XML的屬性之間的換行符將被忽略.

  • 有些字元由XML語法本身保留。因此,它們不能被直接使用。要使用它們,一些更換,實體使用,這在下面列出:

不允許的字元 替代實體 字元描述
< &lt; 小於
> &gt; 大於
& &amp; 符號
' &apos; 撇號
" &quot; 引號