小編給大家分享一下XML入門詳解,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧。
可擴展標記語言,標準通用標記語言的子集,是一種用于標記電子文件使其具有結構性的標記語言。在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。是Internet環境中跨平臺的、依賴于內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規范,使用它來簡化Internet的文檔信息傳輸。
1969年,GML(Generalized Markup Language通用標記語言)---->1985年,SGML(Standard Generalized Markup Language標準通用標記語言)--->1993年,HTML(Hypertext Markup Language超文本標記語言)--->1998年,XML(Extensible Markup Language可擴展標記語言)
1、可擴展標記語言是一種很像超文本標記語言的標記語言。
2、它的設計宗旨是傳輸數據,而不是顯示數據。
3、它的標簽沒有被預定義。您需要自行定義標簽。
4、它被設計為具有自我描述性。
5、它是W3C的推薦標準。
1、它不是超文本標記語言的替代。
2、它是對超文本標記語言的補充。
3、它和超文本標記語言為不同的目的而設計:
4、它被設計用來傳輸和存儲數據,其焦點是數據的內容。
5、超文本標記語言被設計用來顯示數據,其焦點是數據的外觀。
6、超文本標記語言旨在顯示信息,而它旨在傳輸信息。
7、對它最好的描述是:它是獨立于軟件和硬件的信息傳輸工具。
1、解決了數據傳輸不規范的問題。
2、可以非常好的描述樹形結構的事物。
3、可以用作配置文件。
PS:現如今很多很多語言,很多技術都在用XML作為數據傳遞的標準,所以深刻的理解XML,就相當于掌握了一門通用的數據傳輸協議。
案例:
<?xml version="1.0" encoding="UTF-8"?> <class> <stu id="a001"> <name>張三</name> <sex>男</sex> <age>20</age> </stu> <stu id="a002"> <name>李四</name> <sex>女</sex> <age>18</age> </stu> </class>
一個XML文件可分為如下幾部分內容:
文檔聲明 、元素、屬性、注釋 、CDATA區 ,特殊字符 、處理指令(processing instruction)
基本語法:
<?xml version="1.0" encoding="UTF-8"?> <!-- 上面是文檔聲明 - -> <?xml-stylesheet type="text/css" href=”XML2.css”?> <!-- 上面是處理指令 - -> <根元素> <!-- 注釋 - -> <![CDATA[ CDATA區,可以是任意字符 ]]> <元素 屬性=”屬性值”> <元素>元素內容</元素> <空元素/>> </元素> </class>
<?xml version="1.0" encoding=“編碼方式" standalone="yes|no"?>
XML聲明放在XML文檔的第一行
XML聲明由以下幾個部分組成:
version - -文檔符合XML1.0規范
encoding - -文檔字符編碼,比如”utf-8”
standalone - -文檔定義是否獨立使用
standalone="yes“
standalone=“no” 默認
PS:雖說現在XML出了2.0版了,但是現在大多還是用1.0版。
基本語法:
<元素>元素內容</元素> <元素/>
注意事項:
1、每個XML文檔必須有且只有一個根元素。
2、根元素是一個完全包括文檔中其他所有元素的元素。
3、根元素的起始標記要放在所有其他元素的起始標記之前。
4、根元素的結束標記要放在所有其他元素的結束標記之后。
5、XML元素指XML文件中出現的標簽,一個標簽分為開始標簽和結束標簽,一個標簽有如下幾種書寫形式,例如:
包含標簽體:<a>123</a>
不含標簽體的:<a></a>, 簡寫為:<a/>
6、一個標簽中也可以嵌套若干子標簽。但所有標簽必須合理的嵌套,絕對不允許交叉嵌套 ,例如:
<a>hello <b>world</a></b>
7、對于XML標簽中出現的所有空格和換行,XML解析程序都會當作標簽內容進行處理。
例如:
<a>123</a>和<a> 123 </a>意義是完全不同的。
8、一個XML元素可以包含字母、數字以及其它一些可見字符,但必須遵守下面的一些規范:
1---區分大小寫,例如,<P>和<p>是兩個不同的標記。
2---不能以數字或"_" (下劃線)開頭。
3---不能包含空格。
4---名稱中間不能包含冒號(:)。
9、元素、標簽、節點意義都是一樣的。
基本語法
<元素 屬性1=”屬性值” 屬性2=”屬性值”>元素內容</元素>
注意事項:
1、屬性值用雙引號(")或單引號(')分隔(如果屬性值中有',用"分隔;有",用'分隔)
2、一個元素可以有多個屬性,它的基本格式為:
3、屬性名稱在同一個元素標記中只能出現一次
4、屬性值不能包括<, >, &之類的特殊字符,否則需要使用轉義字符。
這個和HTML一樣,都是<!-- 注釋 - ->,同樣也不能注釋嵌套,不能放在元素名中間。
有些內容可能不想讓解析引擎解析執行,而是當作原始內容處理,用于把整段文本解釋為純字符數據而不是標記的情況。包含大量<、>、&或者"字符。CDATA區中的所有字符都會被當作元素字符數據的常量部分,而不是XML標記。
PS:CDATA區可以用于傳遞特殊字符,傳遞文件數據??梢酝ㄟ^將圖片這類二進制文件以byte[]的形式放入CDATA區中,需要使用時在以byte[]的方式讀出。
處理指令,簡稱PI (Processing Instruction)。處理指令用來指揮解析引擎如何解析XML文檔內容。
處理指令必須以“<?”作為開頭,以“?>”作為結尾,XML聲明語句就是最常見的一種處理指令。 例如,在XML文檔中可以使用xml-stylesheet指令,通知XML解析引擎,應用css文件顯示xml文檔內容。
案例:
<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet href="XML2.css" type="text/css"?> <class> <student> <name>張三</name> <sex>男</sex> <age>20</age> </student> <student> <name>李四</name> <sex>女</sex> <age>18</age> </student> </class>
XML2.css
name { font-size: 20px; font-weight: bold; color: red; } sex{ font-size: 30px; font-weight: bolder; color: blue; } age{ font-size: 25px; font-weight: bolder; color: blue; }
1、XML必須有且僅有一個根元素
2、元素大小寫敏感
3、元素不能以數字,下劃線開頭
4、屬性值用引號
5、屬性值如果有特殊字符要用實體表示
6、同一元素的屬性必須唯一,屬性值可以不唯一
7、非空元素標記必須成對
8、空標記要寫關閉符號
9、元素必須正確嵌套
10、元素中可以包含字母、數字或者其它字符(支持中文)
11、元素中不能含空格
12、元素中不能含冒號(注:冒號留給命名空間使用)
以上是“XML入門詳解”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。