更新時間:2020-12-02 17:44:14 來源:動力節(jié)點 瀏覽1607次
XML是標準通用標記語言SGML的子集—可擴展標記語言,XML是一種用于標記電子文件使其具有結構性的標記語言。XML的簡單易于在任何應用程序中讀/寫數據,使得XML很快成為數據交換的唯一公共語言,但掌握這門語言還是需要先了解XML語法的。本文我們就來看一看XML語法,以便我們今后對XML語言的深入學習。
一般情況下,一個XML文件的語法涉及到如下幾部分內容:
1.文檔聲明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
XML聲明放在XML文檔的第一行
XML聲明由以下幾個部分組成:
version –文檔符合XML1.0規(guī)范,我們學習1.0
encoding –文檔字符編碼,比如”GB2312”或者”UTF-8”
standalone –文檔定義是否獨立使用
standalone=”no”為默認值。yes代表是獨立使用,而no代表不是獨立使用
2.元素(或者叫標記、節(jié)點)
(1)每個XML文檔必須有且只有一個根元素
根元素是一個完全包括文檔中其他所有元素的元素
根元素的起始標記要放在所有其他元素的起始標記之前
跟元素的結束標記要放在所有其他元素的結束標記之后
(2)XML元素指的是XML文件中出現的標簽,一個標簽分為開始標簽和結束標簽,一個標簽有如下幾種書寫方式,例如
包含標簽體:
<a>m.dabaquan.cn</a>
不含標簽體的:
<a></a>,簡寫為:<a/>
(3)一個標簽中也可以嵌套若干子標簽。但所有標簽必須合理地嵌套,絕對不允許交叉嵌套,例如
<a>welcome to <b> m.dabaquan.cn </a></b>
這種情況肯定是要報錯的。
(4)對于XML標簽中出現的所有空格和換行,XML解析程序都會當做標簽內容進行處理。
(5)由于在XML中,空格和換行都作為原始內容被處理,所以,在編寫XML文件時,要特別注意。
(6)命名規(guī)范:一個XML元素可以包含字母、數字以及其它一些可見字符,但必須遵守以下規(guī)范:
區(qū)分大小寫,例如,元素P和元素p是兩個不同的元素
不能以數字或下劃線”_”開頭
元素內不能包含空格
名稱中間不能包含冒號(:)
可以使用中文,但一般不這么用
3.屬性
<student id="100">
<name>Tom</name>
</student>
(1)屬性值用雙引號(”)或單引號(’)分隔,如果屬性值中有單引號,則用雙引號分隔;如果有雙引號,則用單引號分隔。那么如果屬性值中既有單引號還有雙引號怎么辦?這種要使用實體(轉義字符,類似于html中的空格符),XML有5個預定義的實體字符。
(2)一個元素可以有多個屬性,它的基本格式為:
<元素名 屬性名1="屬性值1" 屬性名2="屬性值2">
(3)特定的屬性名稱在同一個元素標記中只能出現一次
(4)屬性值不能包括<,>,&,如果一定要包含,也要使用實體
4.注釋
XML的注釋類似于HTML中的注釋:
<!--這是一個注釋-->
(1)注釋內容不要出現--
(2)不要把注釋放在標記中間;
(3)注釋不能嵌套
(4)可以在除標記以外的任何地方放注釋
5.CDATA節(jié)
假如有這么一個需求,需要通過XML文件傳遞一幅圖片,怎么做呢?其實我們看到的電腦上的所有文件,本質上都是字符串,不過它們都是特殊的二進制字符串。我們可以通過XML文件將一幅圖片的二進制字符串傳遞過去,然后再解析成一幅圖片。那么這個字符串就會包含大量的<,>,&或者“等一些特殊的不合法的字符。這時候解析引擎是會報錯的。
所以,有些內容可能不想讓解析引擎解析執(zhí)行,而是當做原始內容處理,用于把整段文本解釋為純字符數據而不是標記。這就要用到CDATA節(jié)。
語法如下:
<![CDATA[
......
]]>
CDATA節(jié)中可以輸入任意字符(除]]>外),但是不能嵌套。
6.處理指令
處理指令,簡稱PI(processing instruction)。處理指令用來指示解析引擎如何解析XML文件,看下面一個例子:
比如我們也可以使用css樣式表來修飾XML文件,編寫my.css如下:
name{
font-size:80px;
font-weight:bold;
color:red;
}
sex{
font-size:60px;
font-weight:bold;
color:blue;
}
sex{
font-size:40px;
font-weight:bold;
color:green;
}
我們在xml文件中使用處理指令引入這個css文件,如下:
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet href="my.css" type="text/css"?>
<class>
<stu id="001">
<name>小明</name>
<sex>男</sex>
<age>20</age>
</stu>
<stu id="002">
<name>小紅</name>
<sex>女</sex>
<age>21</age>
</stu>
</class>
這時候我們再用瀏覽器打開這個xml文件,會發(fā)現瀏覽器解析出一個帶樣式的視圖,而不再是單純的目錄樹了。
以上就是對XML語法的詳細介紹,在我們學習XML語言的過程中多多少少都會用到,XML語言能夠不斷發(fā)展壯大,成為一門成功的可擴展標記語言,自有其獨特的魅力。想深入學習的小伙伴可以觀看本站的XML教程,掌握最新的XML學習資料。