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 

     

  • 相关阅读:
    一些业内有名的网站收集
    WCF重载
    FCKEditor fckconfig.js配置,添加字体和大小 附:中文字体乱码问题解决
    查询第几条到第几条的数据的SQL语句
    SPOJ 9939 Eliminate the Conflict
    UVA 10534 Wavio Sequence
    HDU 3474 Necklace
    POJ 2823 Sliding Window
    UVA 437 The Tower of Babylon
    UVA 825 Walking on the Safe Side
  • 原文地址:https://www.cnblogs.com/trieagle/p/1630502.html
Copyright © 2011-2022 走看看