SqlServer知识点-操作xml
一、开发环境
SQL2010
二、开发过程
1.声明一个xml类型变量
DECLARE @xmlInfo XML;
SET @xmlInfo =
'<CompanyGroup>
<Company code ="0001">
<Department>
<Employee>
<Name>Kimisme</Name>
<Skill>C#</Skill>
</Employee>
</Department>
</Company>
<Company code ="0002">
<Department>
<Employee>
<Name>Zhao</Name>
<Skill>Java</Skill>
</Employee>
</Department>
</Company>
</CompanyGroup>';
2.查询操作
(1)使用query(xquery)查询
SELECT @xmlInfo.query('/CompanyGroup/Company');
(2)使用value(xquery,dataType)查询
SELECT @xmlInfo.value('(/CompanyGroup/Company/Department/Employee/Name)[1]', 'nvarchar(max)');
(3)查询属性值
SELECT @xmlInfo.value('(/CompanyGroup/Company/Department/Employee/Name)[1]', 'nvarchar(max)');
(4)使用xpath进行查询
SELECT @xmlInfo.query('(/CompanyGroup/Company[@code="0001"])');
3.修改操作
(1)修改节点值
SET @xmlInfo.modify('replace value of(/CompanyGroup/Company[@code="0001"]/Department/Employee/Skill/text())[1] with "JavaScript"');
(2)删除节点
SET @xmlInfo.modify('delete /CompanyGroup/Company[@code="0002"]');
(3)添加节点
SET @xmlInfo.modify('insert <Employee><Name>Lily</Name><Skill>Photoshop</Skill></Employee> before (/CompanyGroup/Company[@code="0001"]/Department/Employee)[1]');
(4)添加属性
set @xmlInfo.modify('insert (attribute Name{"Develop"},attribute Date{"2016-1-1"}) into (/CompanyGroup/Company[@code="0001"]/Department)[1]')
(5)删除属性
SET @xmlInfo.modify('delete /CompanyGroup/Company[@code="0002"]/@code');
(6)修改属性
SET @xmlInfo.modify('replace value of (/CompanyGroup/Company[@code="0002"]/@code)[1] with "0003"');
4.其他方法
(1)判存
SELECT *
FROM Device
WHERE Propertys.exist('/DeviceExtInfo/AttributeList/AttributeInfo[realName = "IsChangeValve" ]') = 1
AND MeterNumber IS NOT NULL;
三、参考文章
http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html
SqlServer知识点-操作xml的更多相关文章
- 10.C#知识点:操作XML
知识点目录==========>传送门 XML是什么就不用说了文本标记语言. 主要纪录如何对XML文件进行增删改查. Xml的操作类都存在System.xml命名空间下面. 应用型的直接上代码 ...
- C#知识点:操作XML
XML是什么就不用说了文本标记语言. 主要纪录如何对XML文件进行增删改查. Xml的操作类都存在System.xml命名空间下面. 应用型的直接上代码 using System; using Sys ...
- SqlServer简单的操作XML以及SQl的 try catch等统一格式
1:SqlServer简单的操作XML: ALTER PROCEDURE [dbo].[SP_CRM_FranchiseeRecharge_Money] @Create_By VARCHAR(), @ ...
- sqlserver 操作xml
1.xml.exist 输入为XQuery表达式,返回0,1或是Null.0表示不存在,1表示存在,Null表示输入为空 2.xml.value 输入为XQuery表达式,返回一个SQL ...
- VBA中操作XML
OFFICE2007之后使用了OpenXml标准(伟大的改变),定制文本级的Ribbon可以通过修改压缩包内的xml文件来实现. 先学习一下VBA中操作XML的方法 先引用Microsoft XML ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- sql server 操作xml例子
sql server 操作xml例子 /* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xp ...
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- php中通过DOM操作XML
DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...
随机推荐
- Eclipse错误:Syntax error on tokens, delete these tokens问题解决
错误:Syntax error on tokens, delete these tokens 出现这样的错误一般是括号.中英文字符.中英文标点.代码前面的空格,尤其是复制粘贴的代码,去掉即可.
- 详解ORACLE数据库的分区表
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性 ...
- Java 代理模式和装饰者模式的区别
装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案:代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用: 装饰模式应该为所装饰的对象增强功能:代理模式对代理的 ...
- c++学习 - int 和 string 的相互转换
在C++中会碰到int和string类型转换的. string -> int 首先我们先看两个函数: atoi 这个函数是把char * 转换成int的.应该是属于标准库函数.在想把string ...
- CentOS系统下Hadoop、Hbase、Zookeeper安装配置
近期给一个项目搭建linux下的大数据处理环境,系统是CentOS 6.3.主要是配置JDK.安装Tomcat,Hadoop.HBase和Zookeeper软件.博主在Hadoop这方面也是新手.配置 ...
- 用pc构建DIY计算集群
-----------------------------------------------------------------用pc构建DIY计算集群目录/构建计算集群|-- /0前言|-- /1 ...
- Python随机播放电脑里的音乐
就是找到硬盘中全部的MP3文件和wma文件.再随机打开当中的一个. import os,random disk=['D','E','F','G','H'] def search_file(filena ...
- iOS xcode6最新提交app方法
依照之前方式打包.打包成功后.直接submit提交AppStore.然后再选择build,假设上传成功,但在build选择上未出现,你能够耐心等待.有可能要等上一天,然后选择相应的build,直接提交 ...
- 【uoj35】后缀排序
后缀数组模板题 #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio ...
- build.gradle解析
1 providedCompile.testImplementation.implementation.api.runtime.testCompile.classpath.natives 这些都是和p ...