在傳遞數(shù)據(jù)時(shí),XML和JSON是最常用的數(shù)據(jù)格式,SQL Server從很早的版本就開始支持XML格式,而對(duì)于JSON格式,SQL Server從2016版本開始支持。大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)并沒(méi)有升級(jí)到SQL Server 2016版本,因此在傳遞格式化的數(shù)據(jù)時(shí),通常還是使用XML格式。對(duì)我而言,查詢和解析XML格式的數(shù)據(jù)需要掌握的知識(shí)點(diǎn)較多,MSDN上關(guān)于XML的文檔,又試圖把XML的各個(gè)方面都講解地清清楚楚,以至于內(nèi)容冗雜,使學(xué)習(xí)過(guò)程變得困難。我十分不喜歡學(xué)習(xí)這些不常用的數(shù)據(jù)結(jié)構(gòu),再說(shuō),在平時(shí)的數(shù)據(jù)庫(kù)開發(fā)中,用到XML的地方也很少,可是,一旦在應(yīng)用程序中用到XML,就只有頭疼的份了,既然避不開XML,那就用最簡(jiǎn)單的方法學(xué)習(xí)它,了解它,使用它,以備不時(shí)之需。寫這篇文章,就是以最簡(jiǎn)單的方式,分享XML最常用的使用方法。
一,XML數(shù)據(jù)格式的簡(jiǎn)單介紹
1,最簡(jiǎn)單的XML格式
XML數(shù)據(jù)最簡(jiǎn)單的格式是:
開始標(biāo)簽:<tag>
標(biāo)簽的屬性,屬性值用雙引號(hào):<tag id="1" name="azure">,在單個(gè)節(jié)點(diǎn)中,屬性名不能重復(fù),屬性之間使用空格分隔,在開始標(biāo)簽中,才能設(shè)置屬性;
結(jié)束標(biāo)簽:</tag>,結(jié)束標(biāo)簽不能有屬性;
子節(jié)點(diǎn):在開始標(biāo)簽和結(jié)束標(biāo)簽,可以包含節(jié)點(diǎn),叫做子節(jié)點(diǎn);
節(jié)點(diǎn)值:在開始標(biāo)簽和結(jié)束標(biāo)簽的標(biāo)量值,叫做節(jié)點(diǎn)值;
2,使用字符串對(duì)XML數(shù)據(jù)賦值