首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在SSRS中使用XML集合?

如何在SSRS中使用XML集合?
EN

Stack Overflow用户
提问于 2014-12-17 22:12:36
回答 1查看 60关注 0票数 0

正如标题所述,我不确定如何使用XML集合,如果能提供任何示例,我将不胜感激。

我的例子如下:

您有一个从数据库中的表中提取行的数据源。从数据库返回的数据集中的一个字段包含XML

<Root> <Item1>Test</Item1> <Item2> <Item3>95 Points</Item3> <Item3>269 Points</Item3> <Item4> <Item5>Gold Star</Item5> <Item5>Silver Star</Item5> </Item4> </Item2> <Root>

在Dataset中,可以将字段指定为Item1Item2 (Item2 contains a collection of Item3 and Item4 (which contains a collection of Item5))

我知道以下内容-在表达式占位符中,您可以使用以下内容访问Item1的内容

=First(First!Item1.Value, "XmlDataSet)

我现在需要知道的是

1-如何在Item2中访问所有Item3元素的内容,=First(First(Item2.Value, "XmlDataSet").Item3.Value, "XmlDataSet)可以工作吗?

2-如果没有,有没有其他方法可以让我采用这种方法,(例如,在SSRS中是否必须使用平面XML文件)?

EN

回答 1

Stack Overflow用户

发布于 2014-12-18 17:15:46

我总是将SQL端的XML分解为多个列。您可以使用XQuery函数访问XML节点。

选择

代码语言:javascript
复制
 [XMLColumnName].value('(/Root//Item1/node())[1]', 'nvarchar(max)') AS 'Item1' ,
 [XMLColumnName].value('(/Root//Item2/Item3/node())[1]', 'nvarchar(max)') AS 'Item3_1',
 [XMLColumnName].value('(/Root//Item2/Item3/node())[2]', 'nvarchar(max)') AS 'Item3_2' 

来自tableName

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27527528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档