本節要點:css
1 XML文檔聲明編碼
表示該文檔是一個XML文檔,以及遵循哪一個XML版本的規範。3d
規範:<?xml 版本信息(編碼信息)(文檔獨立性信息)?>code
文檔聲明在XML文件中是可選的第一項,推薦在每一個XML文檔中都包含文檔聲明。若是在XML文件中寫出了聲明就必須包含version屬性,表示XML的版本,截止目前XML只有一個版本,即1.0。在XML聲明以前不準有任何內容,包括空格。xml
示例:<?xml version=「1.0」 encoding=」UTF-8」 standalone=」no」?>blog
文檔聲明屬性:ip
encoding屬性(可選的):註明XML文檔使用的字符編碼方式。採用Unicode編碼時能夠在XML文檔聲明中省略字符集編碼,當XML文檔使用非Unicode編碼時,必須在XML文檔聲明中指定其字符集編碼utf-8
如:< ?xml version=「1.0」 encoding=」gb2312」?>文檔
standalone屬性(可選的):說明文檔是不是獨立的,yes(缺省)——該文檔沒有依賴外面的任何文件而能夠獨立存在,no——該文檔依賴於外面的某個文件字符串
若是同時設置了encoding和standalone屬性,standalone屬性要位於encoding屬性以後。
2 元素
XML的基本組成單位是元素,元素由標記來定義,標記包括起始標記<>和結束標記</>,屬性要寫在起始標記內。在XML中,全部元素必須有結束標記。
語法樣式:
<元素名 屬性名=「屬性值」>
元素內容
</元素名>
1) 元素內容
能夠是其餘元素標記、簡單的文本、沒有任何信息、其餘元素標記和文本內容混合等。
嵌套
在一個元素中能夠嵌套若干個子元素,以下:
XML標記不能交叉,以下:
2) 元素關係
在XML中,各元素之間是相互關聯的。包含在另外一個元素中的元素稱爲子元素,包含子元素的元素稱爲父元素。嵌套子元素必須完整地包含在它的父元素中
3) 根元素
根元素指沒有被嵌套在其餘元素內的元素,最高層元素,僅一個。XML文檔中全部元素都是根元素的子孫元素。
4) 空元素
不包含任何內容的元素。
3 命名規則
在XML中,可使用本身須要的元素來擴展標記語言。
命名基本規則:
判斷對錯,如:
區分大小寫:
流行的命名規則:
4 元素屬性
元素屬性是用來對元素作進一步說明的:
在XML中,屬性值必定要用雙引號或者單引號引發來,不然將被視爲錯誤,推薦先使用雙引號。屬性區分大小寫。
屬性也能夠被改成使用子元素來描述,可是推薦使用子元素描述數據。
屬性不能包含多個值。
5 CDATA & PCDATA
5.1 CDATA
術語 CDATA 指的是不該由 XML 解析器進行解析的文本數據(Unparsed Character Data)。
在 XML 元素中,"<" 和 "&" 是非法的。
"<" 會產生錯誤,由於解析器會把該字符解釋爲新元素的開始。
"&" 也會產生錯誤,由於解析器會把該字符解釋爲字符實體的開始。
某些文本,好比 JavaScript 代碼,包含大量 "<" 或 "&" 字符。爲了不錯誤,能夠將腳本代碼定義爲 CDATA。
CDATA 部分中的全部內容都會被解析器忽略。
CDATA 部分由 "<![CDATA[" 開始,由 "]]>" 結束,能夠在CDATA區嵌入其它語言的代碼。
示例:
<?xml version="1.0" encoding="utf-8" ?>
<people>
<![CDATA[ <!-- !和[之間不要有空白 -->
<teacher>
<name>yeah</name>
<sex>Boy</sex>
<age>22</age>
<add>&address;</add>
</techer>
]]>
</people>
5.2 PCDATA
PCDATA指的是由XML解析器解析的內容,看成通常的文字資料來解讀。
PCDATA區是指:
有些字符不能直接寫在pcdata區,如<、&等。
6 註釋
註釋的內容會被程序忽略而不作解釋和處理。
注:不要把註釋放在XML的聲明以前;註釋不能嵌套使用。
7 處理指令
爲處理XML文檔的應用程序提供提示信息
處理指令格式:
<?處理指令名 處理指令信息?>
<?xml-stylesheet type=「text/css」 href=「book.css」?>
XML解析器會把處理指令原封不動地傳送給應用程序,由應用程序來解釋這個指令,按照它所提供的信息進行處理。