带有命名空间的 T-Sql xml 查询 [英] T-Sql xml query with namespace
本文介绍了带有命名空间的 T-Sql xml 查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是对
如果我为 xml 数据添加命名空间,则不会再次返回任何内容.
If I add a namespace to xml data, nothing is returned again.
DECLARE @xVar XML
SET @xVar =
'<ReportData ObjectId="123" xmlns="http://ait.com/reportdata">
<ReportId>AAAA-BBBB-CCCCC-DDDDD</ReportId>
<DocId>100</DocId>
<ReportName>Drag Scraper Troubleshooting</ReportName>
<DocType>Name</DocType>
<StatusId>1</StatusId>
<AuthorId>1</AuthorId>
</ReportData>'
SELECT [ReportId]= reportdata.item.value('.', 'varchar(40)')
FROM @xVar.nodes('/ReportData/ReportId[1]') AS reportdata(item)
上述查询没有返回任何内容.其次,如何在单个选择中选择所有元素并返回包含所有元素作为字段的行?
The above query returns nothing. Secondly, how would I select all elements in a single select and return a row with all elements as fields?
我想返回一个构造如下的记录:
I want to return a record constructed as the following:
ReportId | DocId | ReportName |
AAAA-BBBB-CCCCC-DDDDD | 100 | AAAA-BBBB-CCCCC-DDDDD |
推荐答案
;WITH XMLNAMESPACES(DEFAULT 'http://ait.com/reportdata')
SELECT [ReportId]= reportdata.item.value('.', 'varchar(40)')
FROM @xVar.nodes('/ReportData/ReportId[1]') AS reportdata(item)
这篇关于带有命名空间的 T-Sql xml 查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文