XML - 語法



在本章中,我們將討論編寫 XML 文件的簡單語法規則。下面是一個完整的 XML 文件:

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

您會注意到上面示例中存在兩種資訊:

  • 標記,例如 <contact-info>

  • 文字或字元資料,Tutorials Point(040) 123-4567

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

XML Syntax Rules

讓我們詳細瞭解上圖中的每個元件。

XML 宣告

XML 文件可以選擇包含 XML 宣告。它寫成如下形式:

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

其中 version 是 XML 版本,encoding 指定文件中使用的字元編碼。

XML 宣告的語法規則

  • XML 宣告區分大小寫,必須以“<?xml>”開頭,其中“xml”小寫。

  • 如果文件包含 XML 宣告,則它嚴格需要是 XML 文件的第一條語句。

  • XML 宣告嚴格需要是 XML 文件中的第一條語句。

  • HTTP 協議可以覆蓋您在 XML 宣告中設定的 encoding 值。

標籤和元素

XML 檔案由多個 XML 元素(也稱為 XML 節點或 XML 標籤)構成。XML 元素的名稱用三角括號 < > 括起來,如下所示:

<element>

標籤和元素的語法規則

元素語法 - 每個 XML 元素都需要使用開始或結束元素關閉,如下所示:

<element>....</element>

或者在簡單情況下,只需這樣:

<element/>

元素巢狀 - 一個 XML 元素可以包含多個 XML 元素作為其子元素,但子元素不得重疊。即,元素的結束標籤必須與最近的未匹配開始標籤具有相同的名稱。

以下示例顯示了不正確的巢狀標籤:

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

以下示例顯示了正確的巢狀標籤:

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

根元素 - XML 文件只能有一個根元素。例如,以下不是正確的 XML 文件,因為 xy 元素都出現在頂層,沒有根元素:

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

以下示例顯示了一個格式正確的 XML 文件:

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

區分大小寫 - XML 元素的名稱區分大小寫。這意味著開始和結束元素的名稱需要完全相同的大小寫。

例如,<contact-info><Contact-Info> 不同。

XML 屬性

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

<a href = "https://tutorialspoint.tw/">Tutorialspoint!</a>

這裡 href 是屬性名稱,https://tutorialspoint.tw/ 是屬性值。

XML 屬性的語法規則

  • XML 中的屬性名稱(與 HTML 不同)區分大小寫。也就是說,HREFhref 被認為是兩個不同的 XML 屬性。

  • 相同的屬性在一個語法中不能有兩個值。以下示例顯示了不正確的語法,因為屬性 b 被指定了兩次

    -
<a b = "x" c = "y" b = "z">....</a>
  • 屬性名稱在定義時不使用引號,而屬性值必須始終用引號括起來。以下示例演示了不正確的 xml 語法

    -
<a b = x>....</a>

在上面的語法中,屬性值沒有用引號括起來。

XML 引用

引用通常允許您在 XML 文件中新增或包含其他文字或標記。引用始終以符號 "&"(這是一個保留字元)開頭,以符號 ";" 結尾。XML 有兩種型別的引用:

  • 實體引用 - 實體引用在開始和結束分隔符之間包含一個名稱。例如 &amp;,其中 ampnamename 指的是預定義的文字和/或標記字串。

  • 字元引用 - 這些包含引用,例如 &#65;,包含一個井號(“#”),後跟一個數字。該數字始終指字元的 Unicode 程式碼。在本例中,65 指字母“A”。

XML 文字

XML 元素和 XML 屬性的名稱區分大小寫,這意味著開始和結束元素的名稱需要使用相同的大小寫。為了避免字元編碼問題,所有 XML 檔案都應儲存為 Unicode UTF-8 或 UTF-16 檔案。

XML 元素之間以及 XML 屬性之間的空格字元(如空格、製表符和換行符)將被忽略。

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

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