首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2000 XML 功能全解析:FOR XML、OPENXML、XSLT 實戰應用

     編輯:關於SqlServer

SQL Server 2000 原生支援 XML,讓關聯資料與階層式 XML 雙向轉換無需撰寫剖析程式。本文詳細示範 FOR XML 三種模式(RAW、AUTO、EXPLICIT)產生 XML、結合 XSLT 轉換格式、OPENXML 將 XML 文件剖析為資料列集寫入資料表、ADO GetXML/WriteXML 離線資料集操作,並提供完整範例程式碼。

FOR XML 三大模式對比

模式輸出結構適用場景
RAW每列轉為 <row> 元素,欄位為屬性簡單平面 XML,無巢狀需求
AUTO依 FROM 子句表名產生巢狀元素,欄位為屬性快速產生階層 XML,結構隨查詢自動推導
EXPLICIT完全控制元素巢狀、屬性、ID/IDREF 關聯複雜 XML 結構需求,語法較繁瑣

OPENXML 將 XML 寫入資料表

DECLARE @hdoc INT, @xml VARCHAR(8000)
SET @xml = '<Orders><Order OrderID="10248" CustID="VINET" />...</Orders>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @xml
INSERT INTO Orders (OrderID, CustomerID)
SELECT OrderID, CustID FROM OPENXML(@hdoc, '/Orders/Order', 2)
WITH (OrderID INT, CustID VARCHAR(5))
EXEC sp_xml_removedocument @hdoc

XSLT 客戶端轉換

搭配 FOR XML AUTO, XMLDATA 產生結構描述,配合 XSLT 樣式表在瀏覽器或中間層轉換為 HTML/PDF 等呈現格式,實現資料與展示分離。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved