FOR XML PATH 有的人可能知道有的人可能不知道,其實它就是將查詢結果集以XML形式展現,有了它我們可以簡化我們的查詢語句實現一些以前可能需要借助函數活存儲過程來完成的工作。那么以一個實例為主。
一。FOR XML PATH 簡單介紹
那么還是首先來介紹一下FOR XML PATH ,假設現在有一張興趣愛好表(hobby)用來存放興趣愛好,表結構如下:
接下來我們來看應用FOR XML PATH的查詢結果語句如下:
SELECT * FROM @hobby FOR XML PATH
結果:
<row>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</row>
<row>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</row>
<row>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</row>
由此可見FOR XML PATH 可以將查詢結果根據行輸出成XML各式!
那么,如何改變XML行節點的名稱呢?代碼如下:
SELECT * FROM @hobby FOR XML PATH('MyHobby')
結果一定也可想而知了吧?沒錯原來的行節點<row> 變成了我們在PATH后面括號()中,自定義的名稱<MyHobby>,結果如下:
<MyHobby>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</MyHobby>
<MyHobby>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</MyHobby>
<MyHobby>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</MyHobby>
這個時候細心的朋友一定又會問那么列節點如何改變呢?還記的給列起別名的關鍵字AS嗎?對了就是用它!代碼如下:
SELECT hobbyID as 'MyCode',hName as 'MyName' FROM @hobby FOR XML PATH('MyHobby')
那么這個時候我們列的節點名稱也會編程我們自定義的名稱 <MyCode>與<MyName>結果如下:
<MyHobby>
<MyCode>1</MyCode>
<MyName>爬山</MyName>
</MyHobby>
&
<MyCode>2</MyCode>
<MyName>游泳</MyName>
</MyHobby>
新聞熱點
疑難解答