校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 使用sp_xml_preparedocument處理XML文檔的方法

使用sp_xml_preparedocument處理XML文檔的方法

熱門標簽:數字匠心電銷機器人 沒聽見電話機器人幫你接 蘭州語音外呼系統運營商 陜西電銷外呼系統好用嗎 al智能電話機器人 成都電話外呼系統一般多少錢 銀川高頻外呼回撥系統多少錢 如何做地圖標注圖鋪 最新人工智能電銷機器人

有時會在存儲過程中處理一些XML格式的數據,所以會用到sp_xml_preparedocument,他可以將XML數據進行讀取,然后使用 MSXML 分析器 (Msxmlsql.dll) 對其進行分析。我們就可以很容易的在存儲過程中得到XML中我們想要的數據。下面的代碼就是使用sp_xml_preparedocument讀取XML:

復制代碼 代碼如下:

DECLARE @hdoc int
DECLARE @doc varchar(1000)
SET @doc ='
ROOT>
Customer CustomerID="VINET" ContactName="Paul Henriot">
Order CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">
OrderDetail OrderID="10248" ProductID="11" Quantity="12"/>
OrderDetail OrderID="10248" ProductID="42" Quantity="10"/>
/Order>
/Customer>
Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
Order CustomerID="LILAS" EmployeeID="3" OrderDate="1996-08-16T00:00:00">
OrderDetail OrderID="10283" ProductID="72" Quantity="3"/>
/Order>
/Customer>
/ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc

上面只是讀取了XML,要想獲取XML數據還需要使用OPENXML,代碼如下:
復制代碼 代碼如下:

SELECT *
FROM openxml(@hdoc,'/ROOT/Customer',1)
WITH (CustomerID VARCHAR(40),ContactName VARCHAR(40))

OPENXML有三個參數:
第一個是sp_xml_preparedocument讀取是的OUTPUT參數,在本示例中就是@hdoc;
第二個是一個XPath表達式,用來獲取指定位置的數據;
第三個是一個可選項,用來表示獲取的方式,有0,1,2,8四種取值,詳細解釋請看
FROM后面的WITH也是可選的,用來指定獲取哪些數據字段,上面代碼中只取了CustomerID和ContactName。上面的查詢結果如下:
CustomerID ContactName
—————————————- —————————————-
VINET Paul Henriot
LILAS Carlos Gonzlez
如果不指定WITH子句,查詢出來的是一個默認的表結構,如下:


表格列的解釋說明:

列名 數據類型 說明
id bigint 文檔節點的唯一 ID。

根元素的 ID 值為 0。保留負 ID 值。

parentid bigint 標識節點的父節點。此 ID 標識的父節點不一定是父元素。具體情況取決于此 ID 所標識節點的子節點的節點類型。例如,如果節點為文本節點,則其父節點可能是一個屬性節點。

如果節點位于 XML 文檔的頂層,則其 ParentID 為 NULL。

節點類型 int 標識節點類型,是對應于 XML 對象模型 (DOM) 節點類型編號的一個整數。

下列值是可以顯示在此列中以指明節點類型的值:

1 = 元素節點

2 = 屬性節點

3 = 文本節點

4 = CDATA 部分節點

5 = 實體引用節點

6 = 實體節點

7 = 處理指令節點

8 = 注釋節點

9 = 文檔節點

10 = 文檔類型節點

11 = 文檔片段節點

12 = 表示法節點

有關詳細信息,請參閱 Microsoft XML (MSXML) SDK 中的“節點類型屬性”主題。

localname nvarchar(max) 提供元素或屬性的本地名稱。如果 DOM 對象沒有名稱,則為 NULL。
prefix nvarchar(max) 節點名稱的命名空間前綴。
namespaceuri nvarchar(max) 節點的命名空間 URI。如果值是 NULL,則命名空間不存在。
datatype nvarchar(max) 元素或屬性行的實際數據類型,否則是 NULL。數據類型是從內聯 DTD 中或從內聯架構中推斷得出。
prev bigint 前一個同級元素的 XML ID。如果前面沒有同級元素,則為 NULL。
text ntext 包含文本形式的屬性值或元素內容。如果邊緣表項不需要值則為 NULL。

在WITH子句中,我們還可以通過設置來獲取父級元素的屬性值:

復制代碼 代碼如下:

DECLARE @hdoc int
DECLARE @doc varchar(1000)
SET @doc ='
ROOT>
Customer CustomerID="VINET" ContactName="Paul Henriot">
Order OrderID="10248" CustomerID="VINET" EmployeeID="5"
OrderDate="1996-07-04T00:00:00">
OrderDetail ProductID="11" Quantity="12"/>
OrderDetail ProductID="42" Quantity="10"/>
/Order>
/Customer>
Customer CustomerID="LILAS" ContactName="Carlos Gonzlez">
Order OrderID="10283" CustomerID="LILAS" EmployeeID="3"
OrderDate="1996-08-16T00:00:00">
OrderDetail ProductID="72" Quantity="3"/>
/Order>
/Customer>
/ROOT>'

EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
SELECT *
FROM OPENXML (@hdoc, '/ROOT/Customer/Order/OrderDetail',2)
WITH (OrderID int '../@OrderID',
CustomerID varchar(10) '../@CustomerID',
OrderDate datetime '../@OrderDate',
ProdID int '@ProductID',
Qty int '@Quantity')

查詢的結果為:
OrderID CustomerID OrderDate ProdID Qty
———– ———- ———————– ———– ———–
10248 VINET 1996-07-04 00:00:00.000 11 12
10248 VINET 1996-07-04 00:00:00.000 42 10
10283 LILAS 1996-08-16 00:00:00.000 72 3
有時候XML中的數據并不是以屬性的方式存在,而是直接放在節點中,如下:
復制代碼 代碼如下:

DECLARE @doc varchar(1000)
SET @doc ='
ROOT>
Customer CustomerID="VINET" ContactName="Paul Henriot">
Order>
OrderID>10248/OrderID>
CustomerID>VINET/CustomerID>
EmployeeID>5/EmployeeID>
OrderDate>1996-07-04T00:00:00/OrderDate>
/Order>
/Customer>
/ROOT>'

此時要獲Order節點下的各項的值,可以用下面方法:
復制代碼 代碼如下:

DECLARE @hdoc int
DECLARE @doc varchar(1000)
SET @doc ='
ROOT>
Customer CustomerID="VINET" ContactName="Paul Henriot">
Order>
OrderID>10248/OrderID>
CustomerID>VINET/CustomerID>
EmployeeID>5/EmployeeID>
OrderDate>1996-07-04T00:00:00/OrderDate>
/Order>
/Customer>
/ROOT>'
EXEC sp_xml_preparedocument @hdoc OUTPUT, @doc
SELECT *
FROM OPENXML (@hdoc, '/ROOT/Customer/Order',1)
WITH (OrderID int 'OrderID',
CustomerID varchar(10) 'CustomerID',
EmployeeID int 'EmployeeID',
OrderDate datetime 'OrderDate')

查詢結果如下:
OrderID CustomerID EmployeeID OrderDate
———– ———- ———– ———————–
10248 VINET 5 1996-07-04 00:00:00.000
可以看出是取屬性值還是取節點的文本的值區別在于WITH子句的第三個參數是否有@符號

標簽:邢臺 本溪 朔州 宜春 遼源 通化 鹽城 巴彥淖爾

巨人網絡通訊聲明:本文標題《使用sp_xml_preparedocument處理XML文檔的方法》,本文關鍵詞  使用,xml,preparedocument,處理,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用sp_xml_preparedocument處理XML文檔的方法》相關的同類信息!
  • 本頁收集關于使用sp_xml_preparedocument處理XML文檔的方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    欧美日韩一本到| 成人免费毛片片v| 91香蕉视频污| xfplay精品久久| 偷拍一区二区三区四区| www.欧美日韩国产在线| 精品噜噜噜噜久久久久久久久试看| 亚洲国产日韩a在线播放| gogo大胆日本视频一区| 久久久久亚洲综合| 麻豆精品久久精品色综合| 欧美丝袜丝交足nylons| 中文一区二区在线观看| 国内精品伊人久久久久影院对白| 欧美性猛片aaaaaaa做受| 精品国产91乱码一区二区三区| 久久亚洲影视婷婷| 天堂成人免费av电影一区| 久久成人18免费观看| 欧美熟乱第一页| 久久综合中文字幕| 欧美性猛片xxxx免费看久爱| 中文一区一区三区高中清不卡| 奇米影视在线99精品| 欧美无砖专区一中文字| 精品成人一区二区三区| 亚洲婷婷综合久久一本伊一区| 国产精品99久久久久久似苏梦涵| 97精品久久久久中文字幕| 在线播放中文一区| 亚洲bdsm女犯bdsm网站| 国产激情视频一区二区在线观看 | 精品国产乱码久久| 18欧美亚洲精品| 日本欧美久久久久免费播放网| 欧美日韩一级大片网址| 国产女主播一区| 亚洲超碰精品一区二区| 欧美人体做爰大胆视频| 国产欧美日本一区视频| 亚洲精品乱码久久久久久久久| 99国产精品视频免费观看| 日韩欧美成人一区| 综合激情成人伊人| 韩日精品视频一区| 在线不卡欧美精品一区二区三区| 亚洲成va人在线观看| 99久久99久久免费精品蜜臀| 日韩精品中文字幕一区二区三区 | 久久你懂得1024| 日本一区二区免费在线| 亚洲美女免费视频| 色狠狠色噜噜噜综合网| 久久免费午夜影院| 亚洲一区二区三区三| 成人小视频免费观看| 欧美一级专区免费大片| 日本最新不卡在线| 一本久久综合亚洲鲁鲁五月天| 91精品国产综合久久久久久 | 成人午夜又粗又硬又大| 欧美日韩一区不卡| 亚洲一区二区视频在线观看| 国产91丝袜在线18| 亚洲免费在线看| 99热99精品| 精品99一区二区| 99精品欧美一区二区三区小说| 精品奇米国产一区二区三区| 亚洲免费在线看| 91麻豆免费观看| 亚洲另类一区二区| 欧美一级二级三级乱码| 亚洲18女电影在线观看| 欧美性极品少妇| 韩日av一区二区| 精品国产欧美一区二区| 韩国精品在线观看| 精品久久久久久最新网址| 天堂成人国产精品一区| 国产欧美va欧美不卡在线| 国产精品一二二区| 久久久综合九色合综国产精品| 97se亚洲国产综合自在线观| 国产精品另类一区| 国产一区二区不卡在线| 亚洲免费观看高清完整| 色婷婷久久久综合中文字幕| 日本网站在线观看一区二区三区 | 国产资源精品在线观看| 欧美一区二区三区日韩| 欧美一区日本一区韩国一区| 国产mv日韩mv欧美| 椎名由奈av一区二区三区| 欧美在线免费播放| 亚洲午夜免费电影| 欧美日韩国产高清一区二区| 国产91富婆露脸刺激对白| 国产精品视频一二| 91美女蜜桃在线| 国产麻豆午夜三级精品| 国产精品嫩草影院com| 欧美人与性动xxxx| 国产一区二区h| 国产三级一区二区| 在线播放国产精品二区一二区四区| 日韩经典中文字幕一区| 九九**精品视频免费播放| 一区二区高清视频在线观看| 欧美在线看片a免费观看| 国产成人啪免费观看软件| 国产精品国产三级国产专播品爱网| 色素色在线综合| 成人一区二区在线观看| 国产精品美女久久久久aⅴ国产馆| 91丨九色丨尤物| 韩国视频一区二区| 国产精品电影院| 久久久亚洲精品一区二区三区| 国产成人av影院| 亚洲情趣在线观看| 欧美激情中文字幕| 色婷婷av一区二区三区大白胸| 国产一区二区三区日韩 | 欧美伊人精品成人久久综合97| 日韩中文字幕亚洲一区二区va在线| 欧美日韩一区二区三区四区五区| proumb性欧美在线观看| 亚洲电影在线免费观看| 色欧美片视频在线观看| 日日噜噜夜夜狠狠视频欧美人| 日韩精品一区二区三区三区免费| 精品视频1区2区3区| 久久精品噜噜噜成人av农村| 国产精品每日更新在线播放网址 | 免费成人美女在线观看| 国产日产欧美一区二区三区| 精品美女一区二区三区| 欧美性猛交xxxxxx富婆| 精品一区二区三区视频| 另类小说视频一区二区| 亚洲三级在线免费观看| 日韩伦理免费电影| 4438x成人网最大色成网站| 国产毛片精品一区| 国产精品系列在线观看| 亚洲成人资源在线| 日韩欧美亚洲一区二区| 色综合久久久久综合体桃花网| 另类小说图片综合网| 久久精品国产在热久久| 综合久久久久久| 欧日韩精品视频| 国产成人免费在线视频| 老司机精品视频线观看86| 久久91精品国产91久久小草| 亚洲啪啪综合av一区二区三区| 国产传媒久久文化传媒| 成人性生交大合| 美女视频黄免费的久久| 久久国产福利国产秒拍| 自拍偷拍亚洲综合| 精品国产一区二区三区久久影院| 精品福利一区二区三区免费视频| 欧美艳星brazzers| 7777精品伊人久久久大香线蕉超级流畅| 福利一区二区在线观看| 欧美sm美女调教| 国产女人18毛片水真多成人如厕 | 久久av资源网| 午夜欧美视频在线观看| 美日韩一区二区| 亚洲午夜羞羞片| 麻豆精品久久久| 亚洲猫色日本管| 久久久综合九色合综国产精品| 国产欧美精品国产国产专区| 精品人在线二区三区| 亚洲国产经典视频| 欧美不卡一区二区三区四区| 在线观看视频一区| 91香蕉国产在线观看软件| 国产成人av电影在线播放| 99re免费视频精品全部| 国产一区二区三区四区五区美女 | 日韩电影在线免费看| 亚洲一区在线观看视频| 美女在线观看视频一区二区| 水野朝阳av一区二区三区| 婷婷久久综合九色国产成人| 日本午夜一本久久久综合| 亚洲三级在线看| 日韩不卡免费视频| 亚洲国产毛片aaaaa无费看| 精品在线一区二区| 国产一区二区三区精品视频| 亚洲韩国一区二区三区| 亚洲午夜久久久久久久久电影网| 国产精品久久久久久久久快鸭| 午夜成人免费视频|