XML和Json是兩種最常用的在網絡中數據傳輸的數據序列化格式,隨著時代的變遷,XML序列化用于網絡傳輸也逐漸被Json取代,前幾天,單位系統集成開發對接接口時,發現大部分都用的WebService技術,而數據傳輸序列化都是XML,所以想在此重溫一下關于XML的相關知識。 一、什么是XML 1、XML是可擴展標記語言 2、XML宗旨是傳輸數據,而非顯示數據 3、XML沒有預定義標簽,都需要自行定義標簽 4、XML不會做任何事情,他設計出來就是為了結構化、儲存和傳輸信息用的 5、XML是純文本,有能力處理純文本的軟件,都可以處理XML 二、XML結構 首先我們來看一個簡單的XML示例 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <note> 3 <to>小魔王</to> 4 <from>女神</from> 5 <heading>表白</heading> 6 <body>我喜歡你好久了</body> 7 </note> 第一行是XML聲明,他定義XML的版本(1.0)和所使用的編碼(ISO-8859-1 = Latin-1/西歐字符集)。 下一行描述文檔的根元素<note> 接下來的4行描述根元素的4個子元素 to、from、heading、body 最后一行定義根元素的結尾 看上面的結構,我們可以設想一下:這個XML文檔包含了 女神 給 小魔王 表白的信息。 這樣看來,XML具有出色的自我描述性,同意嗎? 三、注意點: 1、XML文檔必須包含根元素,該元素是所有其他元素的父元素 2、XML文檔中的元素形成了以可文檔樹,這棵樹從根部開始,并擴展到樹的最低端,所有元素均可擁有子元素 3、父、子以及同胞等術語用于描述元素之前的關系,父元元素擁有子元素,相同層級上的子元素成為同胞(兄弟或姐妹) 下面我們來個示例: 1 <?xml version="1.0" encoding="ISO-8859-1"?> 2 <bookstore> 3 <book category="COOKING"> 4 <title lang="en">Everyday Italian</title> 5 <author>Giada De Laurentiis</author> 6 <year>2005</year> 7 <price>30.00</price> 8 </book> 9 <book category="CHILDREN"> 10 <title lang="en">Harry Potter</title> 11 <author>J K. Rowling</author> 12 <year>2005</year> 13 <price>29.99</price> 14 </book> 15 <book category="WEB"> 16 <title lang="en">Learning XML</title> 17 <author>Erik T. Ray</author> 18 <year>2003</year> 19 <price>39.95</price> 20 </book> 21 </bookstore> 示例圖解:      例子中的根元素是<bookstore>,文檔中的所有<book>元素有被包含在<bookstore>中。 <book>元素有4個子元素:<title>、<author>、<year>、<price> 4、所有元素均可擁有文本內容和屬性(類似HTML中) 5、所有XML元素又必須有關閉標簽(注:XML聲明沒有關閉標簽這不是錯誤,聲明不屬于XML本身的組成部分,他不是XML元素,也不需要關閉標簽) 6、XML標簽對大小寫敏感,即<Letter>與<letter>是兩個不同的標簽 7、XML的屬性值必須加引號(無論數字還是非數字)。 8、XML中,空格會被保留(與HTML不同) 四、實體引用 在XML中,一些字符擁有特殊的意義。 比如”<“ ,如果你將字符”<“放到XML元素中,會發生錯誤,這是一因為解析器會把它當作新元素的開始,例如: <age>19<20</age> 為了避免這個錯誤,請用實體引用來代替”<“字符: <age>19&lt;20</age> 在XML中,有5個預定義的實體引用,如下:    注:在XML中,只有字符”<“,”&“ 是非法的,">"是合法的,但是用實體引用來代替它是一個好習慣。 XML還有一些高級的用法,比如命名空間、CDATA 等等,我們將會在下次進行分享~
轉載自://www.cnblogs.com/xiaomowang/p/11504426.html
国产无遮挡无码视频在线观看