XML檔案結構和基本語法

2021-06-23 03:08:39 字數 4051 閱讀 2954

**:

乙個xml檔案通常包含檔案頭和檔案體兩大部分

1.         檔案頭

xml檔案頭由xml宣告與dtd檔案型別宣告組成。其中dtd檔案型別宣告是可以缺少的,關於dtd宣告將在後續的內容中介紹,而xml宣告是必須要有的,以使檔案符合xml的標準規格。

在前面的flowers.xml檔案中的第一行**即為xml宣告:

<?xml version="1.0" encoding="gb2312"?>

其中:「<?」代表一條指令的開始,「?>」代表一條指令的結束;

「xml」代表此檔案是xml檔案;

「 version="1.0" 」代表此檔案用的是xml1.0標準;

「 encoding="gb2312" 」 代表此檔案所用的字符集,預設值為unicode,如果該檔案中要用到中文,就必須將此值設定為gb2312。

注意:xml宣告必須出現在文件的第一行。

2.         檔案體

檔案體中包含的是xml檔案的內容,xml元素是xml檔案內容的基本單元。從語法講,乙個元素包含乙個起始標記、乙個結束標記以及標記之間的資料內容。

xml元素與html元素的格式基本相同,其格式如下:

《標記名稱 屬性名1="屬性值1"屬性名1="屬性值1"……>內容

所有的資料內容都必須在某個標記的開始和結束標記內,而每個標記又必須包含在另乙個標記的開始與結束標記內,形成巢狀式的分布,只有最外層的標記不必被其他的標記所包含。最外層的是根元素(root),又稱檔案(document)元素,所有的元素都包含在根元素內。

在前面的flowers.xml檔案中,根元素就是,根元素必須而且只能有乙個,在該檔案有三個子元素,這樣的元素可以有多個。

1.         注釋

xml的注釋與html的注釋相同,以「」結束。

2.         區分大小寫

在html中是不區分大小寫的,而xml區分大小寫,包括標記,屬性,指令等。

3.         標記

xml標記與html標記相同,「<」表示乙個標記的開始,「>」 表示乙個標記的結束。xml中只要有起始標記,就必須有結束標記,而且在使用巢狀結構時,標記之間不能交叉。

在xml中不含任何內容的標記叫做空標記,格式為:《標記名稱/>

4.         屬性

xml屬性的使用與html屬性基本相同,但需要注意的是屬性值要加雙引號。

5.         實體引用

實體引用是指分析文件時會被字元資料取代的元素,實體引用用於xml文件中的特殊字元,否則這些字元會被解釋為元素的組成部分。例如,如果要顯示「<」,需要使用實體引用「<」否則會被解釋為乙個標記的起始。

xml中有5個預定義的實體引用,如表 4.1所示。

表 4.1 xml預定義的實體引用

<

>

>  "

" '' &

& 6.         cdata

在xml中由乙個特殊的標記cdata,在cdata中所有文字都不會被xml處理器解釋,直接顯示在瀏覽器中,使用方法如下:

這裡的內容可以直接顯示。

]]>

7.         處理指令

處理指令使用來給處理xml檔案的應用程式提供資訊的,處理指令的格式如下:

<?處理指令名稱 處理指令資訊?>

例如,xml宣告就是一條處理指令:

<?xml version="1.0" encoding="gb2312"?>

其中,「xml」是處理指令名稱,version="1.0" encoding="gb2312"是處理指令資訊。

利用css可以用來設定xml檔案的顯示方式,即在xml檔案的頭部,xml宣告的下面加入下面一條語句:

<?xml:stylesheet type="text/css" href="css檔案的url"?>

下面我們通過例子來介紹如何利用css來顯示xml檔案。首先建立乙個css檔案,**如下:

flowers.css:乙個顯示xml檔案的css樣式

flower

vendor

price

然後,在flowers.xml檔案中使用這個css樣式,即在flowers.xml檔案中的xml宣告下面加入以下語句:

<?xml:stylesheet type="text/css" href="flowers.css"?>

完整的程式**如下:

ex4_3_01.xml:利用css 顯示xml檔案

<?xml version="1.0" encoding="gb2312"?>

<?xml:stylesheet type="text/css" href="flowers.css"?>

shop1

iris

$4.00

shop2

iris

$4.30

shop3

iris

$3.50

此例在瀏覽器中的顯示效果如圖 4.2所示。

圖 4.2 利用css 顯示xml檔案

用css來顯示xml檔案時,不具備任何選擇性,也就是說,根元素之下的所有資料都會被全部顯示,不能改變原檔案的結構和內容的順序。另外,css並不支援中文標記,因為css 不是專門為xml開發的樣式語言,而下面要介紹到的xsl就可以,xsl是特別為xml設計的,它比css更為複雜。

在上一節介紹的用css顯示xml檔案,效果不是很理想,實際上,css主要是適合html檔案,對於xml這種資料檔案,css就不適合了,尤其是對那些需要按照不同的條件將檔案內容重新排列顯示的情況,而用xsl就可以。

xsl是當前最強大和靈活的樣式語言,是特別為應用xml而設計的,它比css要複雜的多。但是,目前它還未被很好的支援,也還沒有最後完成。

利用xsl來設定xml檔案的顯示方式,即在xml檔案的頭部,xml宣告的下面加入下面一條語句:

<?xml:stylesheet type="text/xsl" href="xsl檔案的url"?>

下面我們通過例子來介紹如何利用xsl來顯示xml檔案。首先建立乙個xsl檔案,**如下:

flowers.xsl:用來顯示xml檔案的xsl檔案

<?xml version="1.0" encoding="gb2312"?>

vendor

flower

price

我們可以看出:乙個xsl檔案就如乙個空的html檔案,通過填充乙個xml檔案產生乙個傳統的html檔案。

乙個xsl檔案首先必須有乙個xml宣告(即第一行),因為xsl實際上是一種特殊的xml檔案。xsl的根元素是xsl:stylesheet,即乙個xsl檔案必須以標記開始,以標記結束,xmlns:xsl屬性用於設定xsl的命名域。

xsl的根元素通常是由乙個或多個樣板元素所組成,在此例中只包含單一樣板,它是由標記開始,以標記結束,使用match屬性可以在xml檔案中選取符合條件的節點,即設定樣板名稱,對於最上層樣板,match設為「/」,代表整個xml檔案的根元素。

然後是從xml檔案中取得所需的資料,取得資料最簡單的方法是:

如果要取得多個元素,則要使用xsl:for-each元素,格式如下:

…..

接下來,我們要在flowers.xml檔案中使用這個xsl檔案,即在flowers.xml檔案中的xml宣告下面加入以下語句:

<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>

完整的程式**如下:

ex4_4_01.xml:利用xsl 顯示xml檔案

<?xml version="1.0" encoding="gb2312"?>

<?xml:stylesheet type="text/xsl" href="flowers.xsl"?>

shop1

iris

$4.00

shop2

iris

$4.30

shop3

iris

$3.50

此例在瀏覽器中的顯示效果如圖 4.3所示。

XML檔案結構 語法 元素

xml檔案,是可擴充套件標記語言,可用於資料傳輸 解析 配置檔案等,是通用的資料結構。其與html json不用。zhang san 18 li si 19第1行 該行是xml宣告,必須放在第1行。xml表示該檔案是xml檔案,version表明使用的版本號,encoding表明編碼集。接下來所有部...

XML的結構和語法

乙個標準的xml文件由2部分構成 序文部分和文件元素部分。xml屬性值是由引號來界定的,一般用雙引號。如果屬性值本身包含了雙引號,那麼就應該使用單引號。如果屬性值同時包含單引號和雙引號,那麼就要使用實體引用 和 aquot 如 其中 time 屬性的值實際上是 11 15 處理指令 處理指令的基本結...

XML例項入門筆記 02 基本結構和語法1

這一節介紹xml文件的基本結構和語法。我們將認識乙個xml文件是怎樣的。xml是標籤化的文件 xml與html等都是sgml的乙個分支,sgml是標準通用的標記語言。xml是sgml的乙個簡化版本。xml讓我們根據我們的需要,建立自己標籤,然後利用這個標籤來描述自己的資料。因此,xml文件是由帶標籤...