SQL Server 2005 XML 操作总结(一)入门
时间:2011-03-04 来源:学习,积累~~
2、xpath: 寻址语言【类似windows目录的查找】
语法格式,这些语法可以组合为条件:
"."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代,
"name"表示按名字查找,"@name"表示按属性查找
"集合[条件]" 表示根据条件取集合的子集,条件可以是:
数 值:数字,last(),last()-数字 等
布尔值:position()<数字,@name='条件',name='条件'
【条件是布尔值的时候可以合并计算:and or】
3、xquery: 基于xpath标的准查询语言,sqlserver xquery包含如下函数:
exist(xpath条件):返回布尔值表示节点是否存在
query(xpath条件):返回由符合条件的节点组成的新的xml文档
value(xpath条件,数据类型):返回指定的标量值,xpath条件结果必须唯一
nodes(xpath条件): 返回由符合条件的节点组成的一行一列的结果表,将 xml 数据类型实例拆分为关系数据,则 nodes() 方法非常有用。它允许您标识将映射到新行的节点。
(以上摘自http://blog.csdn.net/jinjazz)
[注意]
本系列中xml示例为不含命名空间的xml形式,若含有命名空间则需要在最前面加上"declare namespace [命名空间缩写]=[命名空间URL]"的字样,
同时涉及到的节点需要加入命名空间缩写。
例如:
set @data.modify('insert <author>Erik E. Ray</author> before (/bookstore/book[@category="WEB"]/author)[1]')
需要改为
set @data.modify(' declare namespace UI="http://schemas.com/sqlserver/BookStore ";insert <UI:author>Erik E. Ray</UI:author> before (/UI: bookstore/UI:book[@category="WEB"]/UI:author)[1]')