正如标题所述,我不确定如何使用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中,可以将字段指定为Item1和Item2 (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文件)?
发布于 2014-12-18 17:15:46
我总是将SQL端的XML分解为多个列。您可以使用XQuery函数访问XML节点。
选择
[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
希望这能有所帮助。
https://stackoverflow.com/questions/27527528
复制相似问题