應用SQLServer For XML 生成XML避免在C# 拼字串

Yunanw發表於2014-07-09

 最近在Review程式碼時,有一個功能是 查詢資料庫中一列,然後生成像

<rootelements>
     <col>a</col>
     <col>b</col>
      <col>c</col>
</rootelements>

開發人員查用的方法是,返回一個結果集,然後用迴圈的方法拼成這個字串.然後再解析成XML

其實從05以後SQLServer對XML的支援大大增強.我們可以使用下面這一行SQL就返回上面的結果

Select col from table for xml xpath(‘’),root(‘rottelements')

xpath(‘') 表明每個行不再生成一個Xml根元素.假如寫成

Select col from table for xml xpath(),root(‘rottelements’)

<rootelements>
    <row>
     <col>a</col>row
    </row>
    <row>
     <col>b</col>row
    </row> 
    <row>
     <col>c</col>row
    </row> 
</rootelements>

更詳細的可以看下面的微信幫助,寫的很詳細

http://msdn.microsoft.com/zh-cn/library/bb510462.aspx

相關文章