XML基本語法

本節要點:css

  • 瞭解XML的文檔聲明
  • 瞭解XML的元素、命名規則、屬性、元素內容、處理指令等概念

 

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中,可使用本身須要的元素來擴展標記語言。

命名基本規則:

  • 元素名稱不能以數字或特殊字符開頭
  • 能夠包含字母,數字,下劃線等
  • 不能以字符串「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區是指:

  • 直接寫在元素的起始標記和結尾標記之間的內容
  • 由XML解析器解析的內容,看成通常的文字資料來解讀
  • XML解析程序會將空格和換行如實地交給下游程序去處理

有些字符不能直接寫在pcdata區,如<、&等。

6   註釋

註釋的內容會被程序忽略而不作解釋和處理。

注:不要把註釋放在XML的聲明以前;註釋不能嵌套使用。

 

7   處理指令

爲處理XML文檔的應用程序提供提示信息

處理指令格式:

<?處理指令名 處理指令信息?>

<?xml-stylesheet type=「text/css」 href=「book.css」?>

XML解析器會把處理指令原封不動地傳送給應用程序,由應用程序來解釋這個指令,按照它所提供的信息進行處理。

相關文章
相關標籤/搜索