mssql sqlserver xml之nodes函数的用法说明


摘要:
下文讲述xml函数nodes的用法及说明
实验环境:sql server 2008



nodes()功能及语法说明

nodes函数的功能:
nodes函数返回指定xml结构中的行集,通过nodes函数可以将xml字符串转换为相应的表信息,便于更深入的获取xml的信息,
nodes函数返回的行集中为xml子集,我们可以通过query或value对子集进行操作获取子集中的属性或值,生成相应的数据表。
nodes函数的语法:
nodes(XQuery) as Table(Column)
参数XQuery:
一个字符串形式的xml表达式。
Table:
表别名-自定义
column:
返回行集的列名-自定义
nodes函数的返回值:
xml子集,
返回值数据类型为xml



nodes()应用举例

      
 /*
 例:使用nodes函数将以下xml字符串
 拆分为:
  包含列名sortName,sortInfo的数据表
  -----------
  nodes函数返回 表 a 和列d
  列b为一个xml子集如 t3所示
  sortName通过对列d执行xml value函数提取相关数据
 */
 
 declare @xmlInfo xml 
 set @xmlInfo ='
 < root >
 < userDefine keyId="1" >
  < sort >
    < sortName >博客< /sortName >
    < sortInfo >sql教程博客< /sortInfo >
  < /sort >
< /userDefine >
< userDefine keyId="2">
  < sort>
    < sortName >网站< /sortName >
    < sortInfo >www.maomao365.com< /sortInfo >
  < /sort >
< /userDefine >
< /root >'


select 
d.value('(./sortName)[1]','nvarchar(30)') as sortName,
   d.value('(./sortInfo)[1]','nvarchar(30)') as sortInfo,
d.query('./sortName[text()]') as t1,
   d.query('/sortInfo') as t2,
   d.query('.') as t3
 from @xmlInfo.nodes('/root/userDefine/sort')  as a(d)

mssql_sqlserver_xml_nodes应用举例

mssql_sqlserver_xml_nodes应用举例


示例脚本下载:
mssql_7491_xml_nodes_应用脚本下载
相关阅读:
openxml
mssql openxml函数用法