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 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="http://www.gitbook.net/">Yiibai!</a>
在這裡 href 是該屬性的名稱和 http://www.gitbook.net/ 是屬性值
XML屬性的句法規則
<a b="x" c="y" b="z">....</a>
<a b=x>....</a>
在上麵的語法,屬性值不會下引號定義.
-
屬性名稱以XML(不像HTML)是大小寫敏感的. HREF and href 這被認為是兩個不同的XML屬性.
-
相同的屬性不能有一個語法兩個值。下麵的例子顯示,因為該屬性指定了兩次不正確的句法:
-
屬性名稱定義不帶引號,而屬性值必須始終出現在引號中。下麵的例子演示了不正確XML句法:
XML的參考資料
參考 通常允許您添加或包含在XML文檔中其他文字或標記 "&" ,參考資料總是以符號的放大器,這是一個保留字符和符號的”結尾 ";". XML有兩種類型參考:
實體參考 : 實體引用包含起始和結束定界符之間的名稱.例如 & 在這裡 amp 是 名稱. 這個名字指一個預定義的字符串文字或標記.
字符參 : 這些包含參考,如 A,包含一個hash符號(“#”) 後麵跟一個數字. 數總是指一個字符的Unicode代碼。在這種情況下,65指的是字母 "A".
XML文本
-
XML的元素和XML的屬性的名稱是區分大小寫的,這意味著開始和結束元素的名稱必須寫在相同的大小寫.
-
為了避免字符編碼的問題,所有的XML文件保存為Unicode UTF-8或UTF-16文件.
-
空白字符,如空格,製表符和XML元素之間和XML的屬性之間的換行符將被忽略.
-
有些字符由XML語法本身保留。因此,它們不能被直接使用。要使用它們,一些更換,實體使用,這在下麵列出:
不允許的字符 | 替代實體 | 字符描述 |
---|---|---|
< | < | 小於 |
> | > | 大於 |
& | & | 符號 |
' | ' | 撇號 |
" | " | 引號 |