WEB开发网
开发学院数据库MSSQL Server SQL 2005对xml文件与xml数据的操作 阅读

SQL 2005对xml文件与xml数据的操作

 2010-06-16 15:43:38 来源:WEB开发网   
核心提示:--讀取Name=5 的Name 屬性值,請使用SELECT xCol.query('data(/Xmltables/Xmltable[@Name])[5]') from xmlt where ID =1--讀取所有节点NameSELECT nref.value('@Name', 

--讀取Name=5 的Name 屬性值,請使用

SELECT xCol.query('data(/Xmltables/Xmltable[@Name])[5]') from xmlt where ID =1

--讀取所有节点Name

SELECT nref.value('@Name', 'varchar(max)') LastName
FROM xmlt CROSS APPLY xCol.nodes('/Xmltables/Xmltable') AS R(nref) where ID=1

--讀取所有节点NowTime

SELECT nref.value('@NowTime', 'varchar(max)') LastName
FROM xmlt CROSS APPLY xCol.nodes('/Xmltables/Xmltable') AS R(nref) where ID=1
SELECT xCol.query('data(/Xmltables/Xmltable[@Name=5]/@NowTime)[1]') from xmlt where ID =1

--讀取Name=1 的Name 屬性值

SELECT xCol.value('data(/Xmltables/Xmltable//Name)[1]','nvarchar(max)') FROM xmlt where ID=2

--讀取NowTime=1 的NowTime 屬性值

SELECT xCol.value('data(/Xmltables/Xmltable/NowTime)[1]','nvarchar(max)') FROM xmlt where ID=2
--SELECT xCol.value('data(/Xmltables/Xmltable[@Name])[1]','nvarchar(max)') FROM xmlt where ID=2

--讀取Name 屬性值 为一行

SELECT xCol.query('for $Name in //Xmltable/@Name return string($Name)') from xmlt
--1 2 3 4 5

------------------------------------------函数使用----------------

--query()、exist()
SELECT pk, xCol.query('/root/dbo.xmltable/name') FROM docs
SELECT xCol.query('/root/dbo.xmltable/name') FROM docs
WHERE xCol.exist ('/root/dbo.xmltable') = 1
--modify()
UPDATE docs SET xCol.modify('
insert
<section num="2">
<heading>Background</heading>
</section>        
after (/doc/section[@num=1])[1]')
--value()
SELECT xCol.value('data((/root/dbo.xmltable//name))[2]','nvarchar(max)') FROM docs
where pk=3
--nodes()
SELECT nref.value('@Name', 'varchar(max)') LastName
FROM xmlt CROSS APPLY xCol.nodes('/Xmltables/Xmltable') AS R(nref)
--query()、value()、exist() 和nodes(),modify()
SELECT CAST(T.c as xml).query('/root/dbo.xmltable/name')
FROM OPENROWSET(BULK 'E:xml.xml',SINGLE_BLOB) T(c)

上一页  1 2 3 4 

Tags:SQL xml 文件

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接