SQL Server 2000 內建 XML 支援,不儲存 XML 檔案,而是提供關聯資料與 XML 雙向轉換介面。SQLXML 釋出擴充功能。四大核心支柱:
Configure SQL XML Support in IIS),對應特定資料庫。/Northwind?sql=SELECT * FROM Shippers FOR XML AUTO,ELEMENTS &root=ShippersGetShippers.xml),存放於伺服器虛擬目錄下。/Northwind/templates/GetShippers.xmlFOR XML AUTO:依聯結巢狀自動產生階層。FOR XML RAW:每列一個 <row> 元素,屬性化欄位。FOR XML EXPLICIT:完全控制 XML 結構(複雜但強大)。FOR XML PATH (SQL 2005+):簡潔路徑語法定義結構。sp_xml_preparedocument → OPENXML 查詢 → sp_xml_removedocument。
| 場景 | 建議技術 |
|---|---|
| 簡單查詢、原型開發 | HTTP + FOR XML AUTO |
| 生產 Web 應用、安全性要求 | 範本查詢 + XSLT |
| 複雜 XML 結構產出 | FOR XML EXPLICIT / PATH |
| XML 匯入資料庫 | OPENXML / XML Bulk Load |
SQL Server XML 支援以「關聯為核心、XML 為介面」為設計哲學。掌握四大支柱適用場景,能在不引入額外中介層的前提下,實現高效的 XML 整合方案。