SQL Server 2000 透過 FOR XML 子句可直接將查詢結果輸出為 XML,語法簡潔:
SELECT FROM WHERE
FOR XML AUTO | RAW | EXPLICIT [, XMLDATA] [, ELEMENTS] [, BINARY BASE64]
以下以 Northwind 資料庫示範各模式。
SELECT CategoryID, CategoryName FROM Categories WHERE CategoryID < 3 FOR XML AUTO
--
--
可用別名改變元素名稱:
SELECT CategoryID AS ID, CategoryName, GETDATE() AS CurrDate FROM Categories MyTable WHERE CategoryID < 3 FOR XML AUTO
--
SELECT Categories.CategoryID, Categories.CategoryName, ProductID, ProductName
FROM Categories JOIN Products ON Categories.CategoryID = Products.CategoryID
WHERE Categories.CategoryID < 3 AND ProductID < 5 FOR XML AUTO
--
SELECT CategoryID, CategoryName FROM Categories WHERE CategoryID < 3 FOR XML AUTO, ELEMENTS
-- 1 Beverages
SELECT CategoryID, CategoryName FROM Categories WHERE CategoryID < 3 FOR XML RAW
--
--
RAW 模式不支援 ELEMENTS,連接查詢會產生重複父資料行。
預設輸出 XPath 參考:
SELECT CategoryID, Picture FROM Categories WHERE CategoryID = 1 FOR XML AUTO
--
需直接由資料庫產生 XML 供前端或整合系統使用時,FOR XML 比中介層轉換更高效簡潔。