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

MS SQL 基礎教學:XML 文件與關聯資料表雙向轉換(FOR XML 與 OPENXML)完整實作

     編輯:關於SqlServer

SQL Server 2000 消除 XML 與關聯資料的阻抗失配。本文系統講解 FOR XML 三模式(RAW、AUTO、EXPLICIT)將查詢結果產生為 XML、XMLDATA/ELEMENTS/BINARY BASE64 選項控制輸出格式;以及 OPENXML 配合 sp_xml_preparedocument/sp_xml_removedocument 將 XML 文件剖析為資料列集寫入資料表,並附圖解記憶體文件指標流程。

FOR XML 輸出模式與選項

模式結構ELEMENTS 選項效果
RAW<row col="val"/>欄位變為子元素 <row><col>val</col></row>
AUTO依表名巢狀同左,屬性→子元素
EXPLICIT完全自訂需手工指定元素/屬性

OPENXML 寫入資料表流程

  1. sp_xml_preparedocument @hdoc OUTPUT, @xml:剖析 XML,傳回文件控制代碼(佔用記憶體)。
  2. SELECT * FROM OPENXML(@hdoc, '/root/row', 2) WITH (Col1 INT, Col2 VARCHAR(50)):XPath 定位節點,WITH 定義結果結構,2 表示屬性對應。
  3. sp_xml_removedocument @hdoc:釋放記憶體,必須呼叫避免洩漏。

RAW 模式輸出 AUTO 模式輸出 EXPLICIT 模式輸出 OPENXML 流程圖 1 OPENXML 流程圖 2 OPENXML 流程圖 3

B2C 電商訂單 XML 存儲範例

前端收單 → XML 文件 → OPENXML 解析寫入 Orders/OrderDetails → 回傳訂單號。確保安全性與標準化資料交換。

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