XML modify方法
来源:互联网 发布:站外淘宝精选怎么加入 编辑:程序博客网 时间:2024/06/05 09:47
sqlserver2008 XML中讲关于操作文档的问题,包括modify,query,notes。
modify 主要包括insert,delete,replace value of 三种。
insert;增加元素时,set @targetxml.modify('insert <element ....>its value</element> {as firt|as last|after|before}
into (/root/../target)[1]
').注意一点:各种路径表达式都指定“[1]”以要求每次只返回单个目标。这样就确保了只有单个目标节点。[1]不可以省去。{as firt|as last|after|before}是指定插入的位置顺序,如果XML文档里面本来没有元素,那么as first 不需要写。
如果是想一次性多插入几个元素,那么有2中方法可以选择。
1:insert(<element1></element1>,<element2></element2>..) into...
2: 利用变量代替多个元素。
set @doc='<element1></element1>,<element2></element2>..'
insert sql:variable("@doc") into ..即可
insert 插入属性时,set @targetxml.modify('insert attribute name{"value"} {
as last|as first|after|before} into (/root/../@)[1]')
当然还可以插入文本,注释,执行语句,形式如同插入元素
delete 删除元素时:set @targetxml.modify('delete /root/../name[1]')
delete 删除属性时:set @targetxml.modify('delete /root/../@name')
delete 删除文本时:set @targetxml.modify('delete /root/../text()')
在文档中必须保持对现有节点的引用。 不能是构造的节点。 表达式不能是根 (/) 节点。 如果表达式返回空序列,则不进行删除,不返回错误。
replace value of
Expression1
with
Expression2
Expression1 和Expression2必须是相同类型的单个节点,如果是多个节点则会出错。Expression1 必须返回具有简单类型内容(列表或原子类型)的单个元素、文本节点或属性节点。Expression1 不可能是联合类型、复杂类型、处理指令、文档节点或注释节点。 如果它是,则会返回错误。
SET @myDoc.modify('
replace value of (/Root/Location/step[1]/text())[1]
with "new text describing the manu step"
')
SELECT @myDoc
-- update attribute value
SET @myDoc.modify('
replace value of (/Root/Location/@LaborHours)[1]
with "100.0"
请注意,更新的目标必须最多是一个通过在表达式的结尾添加“[1]”在路径表达式中显式指定的节点。
- XML modify方法
- SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
- SQL Server XML基础学习之<6>--XML modify() 方法对 XML 数据中插入、更新或删除
- XML 数据类型方法"modify" 的参数1 必须是字符串文字
- MSSQL 中使用modify()方法,此方法使用XML DML语句在XML 数据中插入,更新或删除节点
- 第四章、XML集成(定义XML数据列、XML模式集合、XML数据类型方法 .query,.value,.modify,.nodes,.exists),关系数据转成XML
- C# Read and Modify XML File
- python xml parse and modify node
- How to modify the xml in sql server
- sqlserver xml.modify('replace value of .... with....') 函数改造
- php 解决can not modify header infomation的方法
- modify datawindow.table.select, 注意字符串的表示方法
- Access、Modify、change三个时间的意思以及修改方法
- experment: LogXML modify - A pure win32 XML Logging Class for Unicode
- Open context.xml from /tomcat/conf folder and modify the context to match this :
- MODIFY函数
- Modify--ReadOnly1
- pb modify
- java 实现空心菱形
- 打印格式为00001 00002 00003 00010等
- Android Layout布局摘要(备忘一)
- 查询转换——使用物化视图进行查询重写(4)!
- 女程序员
- XML modify方法
- 关闭子页面刷新父页面
- Quest3d的项目管理
- C++中struct和class的区别
- html标签
- JQuery局部定时刷新
- 初次使用VS2010基于C++开发项目碰到的问题及解决方法
- LR脚本运行出现乱码
- 什么才是高性能的SQL语句