XML基本語法


本節要點:

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

 

1   XML文檔聲明

表示該文檔是一個XML文檔,以及遵循哪個XML版本的規范。

規范:<?xml 版本信息(編碼信息)(文檔獨立性信息)?>

文檔聲明在XML文件中是可選的第一項,推薦在每個XML文檔中都包含文檔聲明。如果在XML文件中寫出了聲明就必須包含version屬性,表示XML的版本,截止目前XML只有一個版本,即1.0。在XML聲明之前不許有任何內容,包括空格。

示例:<?xml version=“1.0” encoding=”UTF-8” standalone=”no”?>

文檔聲明屬性:

encoding屬性(可選的):注明XML文檔使用的字符編碼方式。采用Unicode編碼時可以在XML文檔聲明中省略字符集編碼,當XML文檔使用非Unicode編碼時,必須在XML文檔聲明中指定其字符集編碼

如:< ?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解析器會把處理指令原封不動地傳送給應用程序,由應用程序來解釋這個指令,按照它所提供的信息進行處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM