当前位置: 代码迷 >> Sql Server >> SQL 解析XML,该如何处理
  详细解决方案

SQL 解析XML,该如何处理

热度:91   发布时间:2016-04-24 23:19:12.0
SQL 解析XML
用xml脚本解析下面的XML
<root>
  <item>
     <id>1</id>
     <files>
        <filename>aaa</filename>
        <filename>bbb</filenaem>
     </files>
  </item>
  <item>
     <id>2</id>
     <files>
        <filename>xxx</filename>
        <filename>yyy</filename>
     </files>
  </item>
</root>

希望得到的结果为:
id   filename
1    aaa
1    bbb
2    xxx
2    yyy

------解决方案--------------------
http://blog.csdn.net/happyflystone/article/category/542302很多年没搞过了,不懂,看看有没有帮助
------解决方案--------------------
既然搞过就应该会吧,又不是很难,呵呵。

declare @x xml = '<root>
  <item>
     <id>1</id>
     <files>
        <filename>aaa</filename>
        <filename>bbb</filename>
     </files>
  </item>
  <item>
     <id>2</id>
     <files>
        <filename>xxx</filename>
        <filename>yyy</filename>
     </files>
  </item>
</root>'
select x.value('../../id[1]', 'int')id, x.value('.','varchar(10)')filename from @x.nodes('//filename') t(x)
/*
希望得到的结果为:
id   filename
1    aaa
1    bbb
2    xxx
2    yyy 
*/
  相关解决方案