SQLServer2005 XML数据操作代码


  本文标签:XML,数据操作

示例:
创建Table
复制代码 代码如下:

CREATE TABLE [dbo].[xmlTable](
[id] [int] IDENTITY(1,1) NOT NULL,
[doc] [xml] NULL
)


一 。插入数据
1.通过XML文件插入
1.xml
复制代码 代码如下:

<?xml version=1.0 encoding=utf-8 ?>
<dd>
<a id="2">dafaf2</a>
<a id="3">dafaf3</a>
<a id="4">dafaf4</a>
</dd>

复制代码 代码如下:

insert into xmlTable(doc)
select * from
openrowset(BULK C:\Documents and Settings\Administrator\桌面\1.xml,SINGLE_CLOB) as x

2.通过字符串插入
insert into xmlTable(doc) values(<dd><a>123</a></d>)

二 。查询
select doc.value((/dd/a[@id>2])[1],nvarchar(50)) as xm from xmlTable
select * from xmlTable where doc.value((/dd/a[@id>2])[1],nvarchar(50)) =博客园
三 。更新
1.插入节点
update xmlTable set doc.modify(insert <a>123</a> into (/dd)[1])
注:insert <要插入的节点> 插入到 <节点里面>
into --插入里面
after --插入节点后面
before --插入节点前面
2.删除节点
update xmlTable
set doc.modify(delete (/dd/a)[1]) --删除 /dd/a 的第一个节点
3.修改节点
update xmlTable
set doc.modify(replace value of (/dd/a/text())[1] with "博客园")


暂时只学到这么多,以后再写 。 。 。