declare
@myxml
xml
set @myxml = ' <?xml version="1.0" encoding="gb2312"?>
<root>
<item id="1">
</item>
</root> '
select @myxml
-- 1、插入item的第一个子元素
set @myxml .modify( ' insert <course1>sql server2005</course1> into (root/item)[1] ' ) select @myxml
-- 2、插入item的第一个子元素,插入到同级子元素前面
set @myxml .modify( ' insert <sname> 王一诺</sname> as first into (root/item)[1] ' ) select @myxml
-- 3、插入item的第一个子元素,插入到同级子元素后面
set @myxml .modify( ' insert <grade>82</grade> as last into (root/item)[1] ' ) select @myxml
-- 4、插入第二个item节点
set @myxml .modify( ' insert <item id="2" year="2009"></item> into (/root)[1] ' ) select @myxml
-- 或者
set @myxml .modify( ' insert <item id="2" year="2009"></item> after (/root/item)[1] ' )
-- 5、向第二个item节点插入多个元素
set @myxml .modify( ' insert (<sname>王海</sname>,<course1>sql server2005</course1>,<grade>75</grade>) into (/root/item)[2] ' )
-- 6、插入属性
set @myxml .modify( ' insert attribute year{"2009"} into (/root/item)[1] ' )
select @myxml
-- 7、插入多个属性
set @myxml .modify( ' insert (attribute depart{"计算机"},attribute class{"1班"}) into (/root/item)[1] ' )
-- 8、插入文本节点
set @myxml .modify( ' insert text{"成绩表"} as first into (/root)[1] ' )
-- 9、插入整个节点
set @myxml .modify( ' insert <item id="3" year="2009">
<sname>王若天</sname>
<course1>oracle</course1>
<grade>59</grade></item>
into (/root)[1] ' )
-- 10、插入处理指令
SET @myxml .modify( ' insert <?Program ="Instructions.exe" ?> before (/root)[1] ' )
select @myxml
二、删除操作
declare @myxml xml
set @myxml = ' <?Program ="Instructions.exe" ?>
<root>成绩表--这是个文本节点
<item id="1" year="2009" depart="计算机" class="1班">
<sname> 王一诺</sname>
<course1>sql server2005</course1>
<grade>82</grade>
</item>
<item id="2" year="2009" class="1班">
<sname>王海</sname>
<course1>sql server2005</course1>
<grade>75</grade></item>
<item id="3" year="2009" class="1班">
<sname>王若天</sname>
<course1>oracle</course1>
<grade>59</grade>
</item>
</root> '
-- 1、删除所有指令
set @myxml .modify( ' delete //processing-instruction() ' )
select ' 删除所有指令 ' = @myxml
-- 2、删除文本节点
set @myxml .modify( ' delete /root/text() ' )
select ' 删除文本节点 ' = @myxml
-- 3、删除节点id为的属性
set @myxml .modify( ' delete /root/item[@id=1]/@class ' )
select ' 删除节点id为的属性 ' = @myxml
-- 4、删除第二个节点属性
set @myxml .modify( ' delete /root/item[2]/@class ' )
select ' 删除第二个节点属性 ' = @myxml
-- 5、删除节点属性
set @myxml .modify( ' delete /root/item/@class ' )
select ' 删除节点属性 ' = @myxml
-- 6、删除节点id为的元素
set @myxml .modify( ' delete /root/item[@id=1]/grade ' )
select ' 删除节点id为的元素 ' = @myxml
-- 7、删除第二个节点元素
set @myxml .modify( ' delete /root/item[2]/grade ' )
select ' 删除第二个节点元素 ' = @myxml
-- 8、删除元素
set @myxml .modify( ' delete /root/item/grade ' )
select ' 删除元素 ' = @myxml
-- 9、删除id为的节点
set @myxml .modify( ' delete /root/item[@id=2] ' )
select ' 删除id为的节点 ' = @myxml
-- 10、删除第二个的节点
set @myxml .modify( ' delete /root/item[2] ' )
select ' 删除id为的节点 ' = @myxml
-- 11、删除第二个节点
set @myxml .modify( ' delete /root/item ' )
select ' 删除节点 ' = @myxml
三、修改操作
-- 1、修改文本的值
set @myxml .modify( ' replace value of(/root/text())[1] with "1班成绩表" ' )
select @myxml
-- 2、修改元素的值
set @myxml .modify( ' replace value of(/root/item[@id=3]/grade/text())[1] with "60" ' )
select @myxml
-- 3、修改属性的值
set @myxml .modify( ' replace value of(/root/item[@id=1]/@class)[1] with "2班" ' )
select @myxml
set @myxml = ' <?xml version="1.0" encoding="gb2312"?>
<root>
<item id="1">
</item>
</root> '
select @myxml
-- 1、插入item的第一个子元素
set @myxml .modify( ' insert <course1>sql server2005</course1> into (root/item)[1] ' ) select @myxml
-- 2、插入item的第一个子元素,插入到同级子元素前面
set @myxml .modify( ' insert <sname> 王一诺</sname> as first into (root/item)[1] ' ) select @myxml
-- 3、插入item的第一个子元素,插入到同级子元素后面
set @myxml .modify( ' insert <grade>82</grade> as last into (root/item)[1] ' ) select @myxml
-- 4、插入第二个item节点
set @myxml .modify( ' insert <item id="2" year="2009"></item> into (/root)[1] ' ) select @myxml
-- 或者
set @myxml .modify( ' insert <item id="2" year="2009"></item> after (/root/item)[1] ' )
-- 5、向第二个item节点插入多个元素
set @myxml .modify( ' insert (<sname>王海</sname>,<course1>sql server2005</course1>,<grade>75</grade>) into (/root/item)[2] ' )
-- 6、插入属性
set @myxml .modify( ' insert attribute year{"2009"} into (/root/item)[1] ' )
select @myxml
-- 7、插入多个属性
set @myxml .modify( ' insert (attribute depart{"计算机"},attribute class{"1班"}) into (/root/item)[1] ' )
-- 8、插入文本节点
set @myxml .modify( ' insert text{"成绩表"} as first into (/root)[1] ' )
-- 9、插入整个节点
set @myxml .modify( ' insert <item id="3" year="2009">
<sname>王若天</sname>
<course1>oracle</course1>
<grade>59</grade></item>
into (/root)[1] ' )
-- 10、插入处理指令
SET @myxml .modify( ' insert <?Program ="Instructions.exe" ?> before (/root)[1] ' )
select @myxml
二、删除操作
declare @myxml xml
set @myxml = ' <?Program ="Instructions.exe" ?>
<root>成绩表--这是个文本节点
<item id="1" year="2009" depart="计算机" class="1班">
<sname> 王一诺</sname>
<course1>sql server2005</course1>
<grade>82</grade>
</item>
<item id="2" year="2009" class="1班">
<sname>王海</sname>
<course1>sql server2005</course1>
<grade>75</grade></item>
<item id="3" year="2009" class="1班">
<sname>王若天</sname>
<course1>oracle</course1>
<grade>59</grade>
</item>
</root> '
-- 1、删除所有指令
set @myxml .modify( ' delete //processing-instruction() ' )
select ' 删除所有指令 ' = @myxml
-- 2、删除文本节点
set @myxml .modify( ' delete /root/text() ' )
select ' 删除文本节点 ' = @myxml
-- 3、删除节点id为的属性
set @myxml .modify( ' delete /root/item[@id=1]/@class ' )
select ' 删除节点id为的属性 ' = @myxml
-- 4、删除第二个节点属性
set @myxml .modify( ' delete /root/item[2]/@class ' )
select ' 删除第二个节点属性 ' = @myxml
-- 5、删除节点属性
set @myxml .modify( ' delete /root/item/@class ' )
select ' 删除节点属性 ' = @myxml
-- 6、删除节点id为的元素
set @myxml .modify( ' delete /root/item[@id=1]/grade ' )
select ' 删除节点id为的元素 ' = @myxml
-- 7、删除第二个节点元素
set @myxml .modify( ' delete /root/item[2]/grade ' )
select ' 删除第二个节点元素 ' = @myxml
-- 8、删除元素
set @myxml .modify( ' delete /root/item/grade ' )
select ' 删除元素 ' = @myxml
-- 9、删除id为的节点
set @myxml .modify( ' delete /root/item[@id=2] ' )
select ' 删除id为的节点 ' = @myxml
-- 10、删除第二个的节点
set @myxml .modify( ' delete /root/item[2] ' )
select ' 删除id为的节点 ' = @myxml
-- 11、删除第二个节点
set @myxml .modify( ' delete /root/item ' )
select ' 删除节点 ' = @myxml
三、修改操作
-- 1、修改文本的值
set @myxml .modify( ' replace value of(/root/text())[1] with "1班成绩表" ' )
select @myxml
-- 2、修改元素的值
set @myxml .modify( ' replace value of(/root/item[@id=3]/grade/text())[1] with "60" ' )
select @myxml
-- 3、修改属性的值
set @myxml .modify( ' replace value of(/root/item[@id=1]/@class)[1] with "2班" ' )
select @myxml