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

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

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

             日期:2009.10.18

              注:    转载请保留此信息

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

     一、XML 数据修改语言

     insert

           Expression1 (

                     {as first | as last} into | after | before

                                        Expression2

                    )

    Expression1 :标识要插入的一个或多个节点。

    Expression2 :目标标识节点。

    into :Expression1 标识的节点作为 Expression2 标识的节点的直接后代(子节点)插入。如果 Expression2 中的节点已有一个或多个子节点,则必须使用 as first 或 as last 来指定所需的新节点添加位置。例如,分别在子列表的开头或末尾。插入属性时忽略 as first 和 as last 关键字。

    after :Expression1 标识的节点作为 Expression2 标识的节点的同级节点直接插入在其后面。after 关键字不能用于插入属性。

    before :Expression1 标识的节点作为 Expression2 标识的节点的同级节点直接插入在其前面。before 关键字不能用于插入属性。

     
    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]') 
    --2、插入item的第一个子元素,插入到同级子元素前面  
      set @myxml.modify('insert <sname> 王一诺</sname> as first into (root/item)[1]')   
    --3、插入item的第一个子元素,插入到同级子元素后面   
      set @myxml.modify('insert <grade>82</grade> as last into (root/item)[1]')   
    --4、插入第二个item节点   
      set @myxml.modify('insert <item id="2" year="2009"></item> into (/root)[1]')  
    --或者    
      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 

     

  • 相关阅读:
    OpenGL模板缓冲区与模板测试
    u3d调用c++ dll的DllNotFoundExceion 问题
    u3d调用自己的dll
    使用 idea 的Bookmarks(书签)功能
    maven 相关问题
    项目
    使用 vi/vim 时,粘贴进新创建文件或空文件的首行内容丢失的解决方法
    Thread.sleep还是TimeUnit.SECONDS.sleep
    搭建 Guacamole 并解决各种坑和创建不了虚拟驱动器导致无法实现文件传输的方法
    properJavaRDP 跑通本地远程桌面
  • 原文地址:https://www.cnblogs.com/trieagle/p/1629938.html
Copyright © 2011-2022 走看看