zoukankan      html  css  js  c++  java
  • XML DML 数据修改语言小节 (二)

    /***************************************************

              作者:herowang(让你望见影子的墙)

              日期:2009.10.18

              注:    转载请保留此信息

    ****************************************************/


    二、删除操作

    view plaincopy to clipboardprint?
    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 
    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
     

    三、修改操作

    view plaincopy to clipboardprint?
    --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 

     

  • 相关阅读:
    重庆(四川)方言汇总(北方人到重庆可以先看看)
    将权限授予文件夹和程序集
    通过2009年12月5日PMP考试纪念一下
    在奥运开幕式上,日本代表队拿着太阳旗和五星红旗什么意思?大家讨论一下
    身份证号码
    Android学习笔记系列
    ActiveMQ学习:Hello ActiveMQ
    Android学习笔记(5):Hello Service
    Android学习笔记(4):Activity生命周期
    Android学习笔记(2):Hello world
  • 原文地址:https://www.cnblogs.com/trieagle/p/1630502.html
Copyright © 2011-2022 走看看