• 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 

     

  • 相关阅读:
    inner join(inner可省) 与 left join 之间的区别
    Jedis+Redis+spring缓存
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
    js中的blob,图片base64URL,file之间的关系
    批量压缩图片
    xhr 的 onpregress 监听上传数据的 已上传 和 总大小
    如何禁止浏览器 前进功能
    获取页面滚动高度
    bootstrap的字体设置
    忽略 文件夹下的所有node/modules
  • 原文地址:https://www.cnblogs.com/trieagle/p/1630502.html
Copyright © 2020-2023  润新知