xml和json是兩種最常用的在網路中資料傳輸的資料序列化格式,隨著時代的變遷,xml序列化用於網路傳輸也逐漸被json取代,前幾天,單位系統整合開發對接介面時,發現大部分都用的webservice技術,而資料傳輸序列化都是xml,所以想在此重溫一下關於xml的相關知識。
一、什麼是xml
1、xml是可擴充套件標記語言
2、xml宗旨是傳輸資料,而非顯示資料
3、xml沒有預定義標籤,都需要自行定義標籤
4、xml不會做任何事情,他設計出來就是為了結構化、儲存和傳輸資訊用的
5、xml是純文字,有能力處理純文字的軟體,都可以處理xml
二、xml結構
首先我們來看乙個簡單的xml示例
1第一行是xml宣告,他定義xml的版本(1.0)和所使用的編碼(iso-8859-1 = latin-1/西歐字符集)。xml version="1.0" encoding="iso-8859-1"
?>
2<
note
>
3<
to>小魔王
to>
4<
from
>女神
from
>
5<
heading
>表白
heading
>
6<
body
>我喜歡你好久了
body
>
7note
>
下一行描述文件的根元素
接下來的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
>
8book
>
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
>
14book
>
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
>
20book
>
21bookstore
>
例子中的根元素是,文件中的所有元素有被包含在中。
元素有4個子元素:、、、
4、所有元素均可擁有文字內容和屬性(類似html中)
5、所有xml元素又必須有關閉標籤(注:xml宣告沒有關閉標籤這不是錯誤,宣告不屬於xml本身的組成部分,他不是xml元素,也不需要關閉標籤)
6、xml標籤對大小寫敏感,即與是兩個不同的標籤
7、xml的屬性值必須加引號(無論數字還是非數字)。
8、xml中,空格會被保留(與html不同)
四、實體引用
在xml中,一些字元擁有特殊的意義。
比如」19<20
為了避免這個錯誤,請用實體引用來代替」
19<20
在xml中,有5個預定義的實體引用,如下:
注:在xml中,只有字元」"是合法的,但是用實體引用來代替它是乙個好習慣。
xml還有一些高階的用法,比如命名空間、cdata 等等,我們將會在下次進行分享~
XML(一) 基礎知識
如果說json是一種輕量級的資料交換格式,那麼xml就是重量級的。xml應用於web開發的許多方面,常用於簡化資料的儲存和共享。永遠要記住,xml跟json一樣是用來儲存和傳輸資料的,而非顯示資料,顯示資料是html幹的活。xml是不作為的,xml不會做任何事情,它僅僅是純文字,是包裝在xml標籤中...
XML基礎知識
好多書籍只介紹建立xml webservice,並沒有詳細介紹xml webservice的工作原理以及各部分 例如iis asp.net 在xml webservice中所起的作用.學習後整理了一下,希望對讀者有所幫助 一 xml webservice作用 xml webservice在應用程式中...
xml基礎知識
xml extensible markup language 即可擴充套件標記語言,它與html一樣,都是sgml standard generalized markup language,標準通用標記語言 xml是internet 環境中跨平台的,依賴於內容的技術,是當前處理結構化文件資訊的有力工...