在SQL中運(yùn)用For XML將數(shù)據(jù)集以XML形式展現(xiàn),以下是備用數(shù)據(jù)
CREATE TABLE #tab(ID INT , Name NVARCHAR ( 20 )) INSERT INTO #tab ( ID, Name ) SELECT 1 ,N ' chris ' UNION SELECT 2 ,N ' mark ' UNION SELECT 3 ,N ' andy '
1、AUTO模式,將查詢結(jié)果的每一行轉(zhuǎn)為元素,元素名以表名命名,每一列(非NULL)轉(zhuǎn)換成row元素的屬性。
SELECT * FROM #tab FOR XML AUTO
< _x0023_tab ID ="1" Name ="chris" /> < _x0023_tab ID ="2" Name ="mark" /> < _x0023_tab ID ="3" Name ="andy" />
2、RAW模式,和AUTO類似,只是元素以row命名。
SELECT * FROM #tab FOR XML RAW
< row ID ="1" Name ="chris" /> < row ID ="2" Name ="mark" /> < row ID ="3" Name ="andy" />
3、ELEMENTS,將每一列作為一個元素。
SELECT * FROM #tab FOR XML AUTO,ELEMENTS
< _x0023_tab > < ID > 1 </ ID > < Name > chris </ Name > </ _x0023_tab > < _x0023_tab > < ID > 2 </ ID > < Name > mark </ Name > </ _x0023_tab > < _x0023_tab > < ID > 3 </ ID > < Name > andy </ Name > </ _x0023_tab >
4、PATH,用法更加靈活,可以自定義節(jié)點(diǎn)、元素、屬性等。ROOT,增加根節(jié)點(diǎn)。
SELECT * FROM #tab FOR XML PATH( ' employee ' ),ELEMENTS
< employee > < ID > 1 </ ID > < Name > chris </ Name > </ employee > < employee > < ID > 2 </ ID > < Name > mark </ Name > </ employee > < employee > < ID > 3 </ ID > < Name > andy </ Name > </ employee >
SELECT ID AS ' staff/@ID ' ,NAME AS ' staff/@Name ' , '' , ID AS ' ID ' , '' , NAME AS ' Name ' FROM #tab FOR XML PATH( ' employee ' ),ROOT( ' all ' )
< all > < employee > < staff ID ="1" Name ="chris" /> < ID > 1 </ ID > < Name > chris </ Name > </ employee > < employee > < staff ID ="2" Name ="mark" /> < ID > 2 </ ID > < Name > mark </ Name > </ employee > < employee > < staff ID ="3" Name ="andy" /> < ID > 3 </ ID > < Name > andy </ Name > </ employee > </ all >
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
