本章會(huì)帶你通過(guò)簡(jiǎn)單的語(yǔ)法規(guī)則編寫一個(gè) XML 文檔。下面是一個(gè)完整的 XML 文檔:
<?xml version="1.0"?>
<concat-info>
<name>Tanmay Patil</name>
<company>TutorialsPoint</company>
<phone>(011) 123-4567</phone>
</concat-info>
你可以注意到上面的例子中有兩種類型的信息:
<concat-info>。下圖描述了在 XML 文檔中編寫不同類型標(biāo)記和文本的語(yǔ)法規(guī)則:
http://wiki.jikexueyuan.com/project/xml/images/syntaxrules.png" alt="syntax rules" />
我們來(lái)詳細(xì)看看上圖中的每個(gè)組成部分:
XML 文檔可以有一個(gè)可選的 XML 聲明。它可以寫作如下形式:
<?xml version="1.0" encoding="UTF-8"?>
這里 version 就是 XML 版本,encoding 指定文檔中使用的字符編碼。
一個(gè) XML 文件的結(jié)構(gòu)由幾個(gè) XML 元素組成,也叫做 XML 節(jié)點(diǎn)或 XML 標(biāo)簽。XML 元素的名稱使用尖括號(hào) < > 閉合,如下所示:
<element>
元素語(yǔ)法: 每個(gè) XML 元素都必須閉合或者帶有開始和結(jié)束元素,如下所示:
<element>....</element>
或者簡(jiǎn)寫形式,就像這樣:
<element/>
元素嵌套: 一個(gè) XML 元素可以包含多個(gè) XML 元素作為它的子元素,但是子元素不能重疊。比如,一個(gè)元素的結(jié)束標(biāo)簽必須與最近匹配的開始標(biāo)簽具有相同的名稱。
下面的例子展示了不正確的嵌套標(biāo)簽:
<?xml version="1.0"?>
<contact-info>
<company>TutorialsPoint
<contact-info>
</company>
下面的例子展示了正確的嵌套標(biāo)簽:
<?xml version="1.0"?>
<contact-info>
<company>TutorialsPoint</company>
<contact-info>
根元素: 一個(gè) XML 文檔只有一個(gè)根元素。例如,下面是一個(gè)不正確的 XML 文檔,因?yàn)?x 和 y 元素出現(xiàn)在頂層而沒(méi)有一個(gè)根元素:
<x>...</x>
<y>...</y>
下面的例子展示了正確形式的 XML 文檔:
<root>
<x>...</x>
<y>...</y>
</root>
區(qū)分大小寫: XML 元素的名稱區(qū)分大小寫。這意味著元素的起始和結(jié)束標(biāo)簽大小寫必須一樣。
例如 <contact-info> 和 __<Contact-Info> 就不同。
attribute 使用名/值對(duì)給元素指定一個(gè)屬性(property)。一個(gè) XML 元素可以有一個(gè)或多個(gè)屬性(attributes)。例如:
<a >Tutorialspoint!</a>
這里 href 就是屬性名稱,而 http://www.tutorialspoint.com/ 就是屬性值。
<a b="x" c="y" b="z">....</a>
<a b=x>....</a>
在上面的語(yǔ)法中,屬性值沒(méi)有定義在引號(hào)標(biāo)記中。
引用 通常允許我們?cè)?XML 文檔中添加或包含附加的文本。引用始終以符號(hào) "&" 開始,這是一個(gè)保留字符,以符號(hào) ";" 結(jié)尾。XML 中有兩種類型的引用:
實(shí)體引用: 一個(gè)實(shí)體引用的起始和結(jié)束定界符之間包含一個(gè)名稱。比如 &,其中 amp 就是名稱。這個(gè) name 通常指向一個(gè)預(yù)定義的文本字符串或標(biāo)記。
字符引用: 這些包含引用比如 A 包含一個(gè) hash 標(biāo)記("#"),后面緊跟一個(gè)數(shù)字。這個(gè)數(shù)字始終指向一個(gè)字符的 Unicode 碼。在這里,65 指向字母 "A"。
| 不允許使用的字符 | 替代實(shí)體 | 字符描述 |
|---|---|---|
| < | 小于號(hào) | |
| > | > | 大于號(hào) |
| & | & | 和號(hào) |
| ' | ' | 撇號(hào) |
| " | " | 雙引號(hào) |