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中差 ...
随机推荐
- 关于SQL SERVER导出数据的问题!
前面一段时间,为这个导出数据真是煞费苦心,网上找了好多资料都没有找到. 从SQL SERVER 2008开始,我们就可以很方便的导出数据脚本,而无需再借助存储过程,但是SQL Server 2012和 ...
- dtrace.org
http://dtrace.org/blogs/rm/2016/09/15/turtles-on-the-wire-understanding-how-the-os-uses-the-modern-n ...
- Sqlserver数据库发送邮件
目录 1. Sqlserver数据库发送邮件 1.1. 概念了解 1.2. 配置 1.3. 测试发送邮件 1.3.1. 代码测试 1.3.2. 工具测试 1.4. 查看邮件日志 1. Sqlserve ...
- 怎样删除Tomcat下已经部署的项目
lz说的是把web项目部署到tomcat之中,要把它删除..很简单,找到webapps文件(tomcat的根目录)下把它删除即可.. 2.Tomcat 6.0\webapps\项目名 只要在把这个目录 ...
- python:functools之partial
示例:from operator import addimport functoolsprint add(1,2) #3add1 = functools.partial(add,1)print add ...
- 【c++】【转】C++ sizeof 使用规则及陷阱分析
http://www.cnblogs.com/chio/archive/2007/06/11/778934.html sizeof不是函数,更像一个特殊的宏,它是在编译阶段求值得.sizeof作用范围 ...
- yarn-cli 添加
添加依赖包 当你想使用另一个包时,你要先把它添加到依赖列表中.也就是执行 yarn add [package-name] 命令将它安装到你的项目中. 这也将同时更新你的 package.json 和 ...
- C++ auto 与 register、static keyword 浅析
[register/auto的比較分析] #include <iostream> using namespace std; int main(){ int i,sum=0; for(i=0 ...
- Jquery第四课 Javascript中this的使用方法
thiskeyword的使用 在JavaScript中使用thiskeyword表示调用方法的对象,这与大部分面向对象语言是一样的.可是因为call.apply.bind等函数的影响.我们能够改变th ...
- iOS项目开发实战——通过Http Get方式与server通信
移动client往往须要同后台server进行通信,上传或者下载数据,最经常使用到的方式就是Http Get,如今我们来学习在iOS项目中使用Get方式同server进行通信. [一]server端实 ...