1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;
2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;
3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值
4、EXPLICIT模式:通过SELECT语法定义输出XML的结构
具体实例如下:
1、AUTO模式
(1). SQL语句:
1: SELECT EmployeeID,FirstName,LastName FROM Employees FORXMLAUTO, XMLSCHEMA
(2). 所生成的XML文件:
返回XML文件的XML Schema
<xsd:schematargetNamespace="urn:schemas-microsoft-com:sql:SqlRowSet1"xmlns:schema="urn:schemas-microsoft-com:sql:SqlRowSet1"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes"elementFormDefault="qualified"><xsd:importnamespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes"schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd"/><xsd:elementname="Employees"><xsd:complexType><xsd:attributename="EmployeeID"type="sqltypes:int" use="required"/><xsd:attributename="FirstName"use="required"><xsd:simpleType><xsd:restrictionbase="sqltypes:nvarchar"sqltypes:localeId="1033"sqltypes:sqlCompareOptions="IgnoreCaseIgnoreKanaTypeIgnoreWidth"sqltypes:sqlSortId="52"><xsd:maxLengthvalue="10"/>xsd:restriction>xsd:simpleType>xsd:attribute><xsd:attributename="LastName"use="required"><xsd:simpleType><xsd:restrictionbase="sqltypes:nvarchar"sqltypes:localeId="1033"sqltypes:sqlCompareOptions="IgnoreCaseIgnoreKanaTypeIgnoreWidth"sqltypes:sqlSortId="52"><xsd:maxLengthvalue="20"/>xsd:restriction>xsd:simpleType>xsd:attribute>xsd:complexType>xsd:element>xsd:schema><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="1"FirstName="Nancy" LastName="Davolio"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="2"FirstName="Andrew" LastName="Fuller"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="3"FirstName="Janet" LastName="Leverling"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="4"FirstName="Margaret" LastName="Peacock"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="5"FirstName="Steven" LastName="Buchanan"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="6"FirstName="Michael" LastName="Suyama"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="7"FirstName="Robert" LastName="King"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="8"FirstName="Laura" LastName="Callahan"/><Employeesxmlns="urn:schemas-microsoft-com:sql:SqlRowSet1"EmployeeID="9"FirstName="Anne" LastName="Dodsworth" />
2、RAW模式
1: 将元素命名为自定义的名称Employee2: SELECTEmployeeID,FirstName,LastNameFROM Employees FOR XML RAW("Employee") (2). 所生成的XML文件: 1:<Employee EmployeeID="1"FirstName="Nancy" LastName="Davolio"/> 2: <EmployeeEmployeeID="2" FirstName="Andrew"LastName="Fuller" /> 3:<Employee EmployeeID="3"FirstName="Janet" LastName="Leverling"/> 4: <EmployeeEmployeeID="4" FirstName="Margaret"LastName="Peacock" /> 5:<Employee EmployeeID="5"FirstName="Steven" LastName="Buchanan"/> 6: <EmployeeEmployeeID="6" FirstName="Michael"LastName="Suyama" /> 7:<Employee EmployeeID="7"FirstName="Robert" LastName="King" />8: <EmployeeEmployeeID="8" FirstName="Laura" LastName="Callahan"/> 9:<Employee EmployeeID="9" FirstName="Anne"LastName="Dodsworth"/>
