/*
通过使用FOR XML与一些关键字组合可以生成XML格式,经常使用的一些
关键字有AUTO, RAW, PATH or EXPLICIT。下面具体说明如何使用这些
关键字来生成XML。下面使用了ATUO,RAW方法来生车XML格式数据。
*/
/*
下面生成一张测试表
*/
--CREATE TABLE Employees
--(
-- EmployeeID INT,
-- Name NVARCHAR(20),
-- Phone NVARCHAR(20),
-- SEX NVARCHAR(10)
--)
--INSERT INTO Employees
--SELECT 1, 'tudou', '15958944683','男' UNION ALL
--SELECT 2, 'shuige', '00000000000','男' UNION ALL
--SELECT 3, 'xiaozhu', '11111111111','男'
--1.生成xml最简单的方法是使用AUTO关键字
SELECT EmployeeID
,Name
,Phone
,SEX
FROM Employees FOR XML AUTO
/*
<Employees EmployeeID="1" Name="tudou" Phone="15958944683" SEX="男" />
<Employees EmployeeID="2" Name="shuige" Phone="00000000000" SEX="男" />
<Employees EmployeeID="3" Name="xiaozhu" Phone="11111111111" SEX="男" />
*/
--2.虽然上面查询返回的是XML格式,但是结果的类型不是XML类型,而是
-- NVARCHAR类型.要想返回XML类型需要使用TYPE关键字.
SELECT EmployeeID
,Name
,Phone
,SEX
FROM Employees FOR XML AUTO,TYPE
--返回结果和上面一样
--3.默认情况下返回的值是作为属性,有时候需要返回的值作为节点。
-- 需要使用关键ElementS
SELECT EmployeeID
,Name
,Phone
,SEX
FROM Employees FOR XML AUTO,TYPE,Elements
/*
<Employees>
<EmployeeID>1</EmployeeID>
<Name>tudou</Name>
<Phone>15958944683</Phone>
<SEX>男</SEX>
</Employees>
<Employees>