在sql2005中對不同XML的解析

2021-08-22 17:46:33 字數 2503 閱讀 5637

--聯機幫助:ms-help:

--eg1.

declare @idoc int;

declare @doc varchar(4000);

set @doc ='

2007-11-22 09:27:04

mod

a 21

e145

'exec sp_xml_preparedocument @idoc output, @doc --形成各節點(元素、屬性、文字和注釋等)的樹狀表示形式 返回乙個控制代碼

select * from openxml (@idoc, '/flight/flightinfor',2)with (

dt datetime '../datetime'

,method varchar(20) '../method'

,tp char(1)'../type'

,flightattr int 'flightattr'

,aircrafttype varchar(10)'aircrafttype'

)exec sp_xml_removedocument @idoc

--結果:

/*dt method tp flightattr aircrafttype

2007-11-22 09:27:04.000 mod a 21 e145

*/--eg2.

declare @idoc int

declare @doc varchar(1000)

set @doc ='

'--create an internal representation of the xml document.

exec sp_xml_preparedocument @idoc output, @doc

-- select stmt using openxml rowset provider

select *

from openxml (@idoc, '/root/customer/order/orderdetail',2)

with (customerid2 varchar(10) '../../@customerid' ,

contactname varchar(20) '../../@contactname',

orderid int '../@orderid',

customerid varchar(10) '../@customerid',

orderdate datetime '../@orderdate',

prodid int '@productid',

qty int '@quantity')

--結果:

/*customerid2 contactname orderid customerid orderdate prodid qty

vinet paul henriot 10248 vinet 1996-07-04 00:00:00.000 11 12

vinet paul henriot 10248 vinet 1996-07-04 00:00:00.000 42 10

lilas carlos gonzlez 10283 lilas 1996-08-16 00:00:00.000 72 3

*/--eg3.

declare @idoc int;

declare @doc varchar(4000);

set @doc ='

sdfsdf

2007-11-22 09:27:04

mod

mod23

mod22

mod2 5

a 21

e145

mod22

dfsdfs

'exec sp_xml_preparedocument @idoc output, @doc --形成各節點(元素、屬性、文字和注釋等)的樹狀表示形式 返回乙個控制代碼

select * from openxml (@idoc, '/flight',2)with (

-- datetime2 datetime '../datetime'

method varchar(200) '..//method/'

-- ,type char(1) '../type'

-- ,flightattr int 'flightattr'

-- ,aircrafttype varchar(10)'aircrafttype'

--,method2 varchar(10) 'method'

)exec sp_xml_removedocument @idoc

--結果:

/*sdfsdf 2007-11-22 09:27:04 mod mod23 mod22 mod2 5 a 21 e145 mod22 dfsdfs

/*

Sql2005中對XML型別欄位的運用

sql2005中對xml型別字段的運用 正文 在sql2005中增加了xml型別資料。這樣,我們可以將我們應用程式中的實體物件直接儲存到資料庫中。下次要取的時候就可以直接將xml反序列化成實體物件。對於資料量不是很大的情況下,可以考慮使用。select from employee where con...

Sql2005中對XML型別欄位的運用

在sql2005中增加了xml型別資料。這樣,我們可以將我們應用程式中的實體物件直接儲存到資料庫中。下次要取的時候就可以直接將xml反序列化成實體物件。對於資料量不是很大的情況下,可以考慮使用。select from employee where content exist age text 900...

SQL2005對XML的處理功能講解

sql2005對xml的處理功能講解 在 sqlserver2005 中對 xml 的處理功能顯然增強了很多,提供了 query value exist modify nodes 等函式。關於 xml 難以理解的不是 sqlserver 提供的函式,而是對 xml 本身的理解,看似很簡單的檔案格式,...