FOR XML子句有四种最基本的模式
1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;为输出的XML文档添加根元素(Root element)
eg:select columnNames from tbleName for xml auto,root('rootName')
2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;将元素命名为自定义名称。
eg: select columnsName from tableName for xml raw('New_columnsName')
3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值
eg: select employeeID "@ID",firstname "Name/FirstName",lastName "Name/LastName" from Employees for xml path ('employee')
result:
<name><employee><employeeID="2"><name><firstname>andrewfirstname><lastname>fullerlastname>
4、EXPLICIT模式:通过SELECT语法定义输出XML的结构
XPLICIT模式解决这个问题的应用分为两个主要步骤
1.定义要输出的XML文档结构;
2.传入实际的数据值;
其中 Tag栏用来指定生成元素的嵌套水平;Parent栏用来指定当前Tag的父级层次