最近在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