我们有一个返回以下内容的WCF服务:
MessageContract
|
+-- List<TopLevelDataContract>
TopLevelDataContract
|
+-- FirstChildDataContract
+-- SecondChildDataContract
+-- ThirdChildDataContract
FirstChildDataContract
|
+-- FieldOne
+-- AnotherField
SecondChildDataContract
|
+-- FieldTwo
+-- YetAnotherField
ThirdChildDataContract
|
+-- FieldThree
+-- AndAnotherField
为了在SSRS中充分展示这些数据交换,我们需要将它们展平为表格形式,如下所示:
+----------+--------------+----------+-----------------+------------+-----------------+
| FieldOne | AnotherField | FieldTwo | YetAnotherField | FieldThree | AndAnotherField |
+----------+--------------+----------+-----------------+------------+-----------------+
... rows of data...
然而,实现此目的的ElementPath
表达式/ XMLDP查询正在躲过我们。我们没有高兴地尝试了以下内容:
FirstChildDataContract
类型的所有“行”:<ElementPath IgnoreNamespaces="true"> MessageContract{}/TopLevelDataContracts{}/TopLevelDataContract{}/FirstChildDataContract </ElementPath>
<ElementPath IgnoreNamespaces="true"> MessageContract{}/TopLevelDataContracts{}/TopLevelDataContract{@} </ElementPath>
<ElementPath IgnoreNamespaces="true"> * </ElementPath>
如果可能,用于实现此目的的正确ElementPath
表达式是什么?
(除此之外:为什么微软不只是使用XPath,这是有充分文档和灵活的,而不是滚动他们自己的几乎但不是非常喜欢的xpath查询语言?)
答案 0 :(得分:0)
我已经读过这个
了http://msdn.microsoft.com/en-us/library/aa964129(SQL.90).aspx
它说明了
不支持多个父子层次结构。在此示例中,Customer同时具有订单和退货。提供者可能只返回一组。由于首先指定了Orders层次结构,因此自动派生会将其解析为骨架。
我对SSRS了解不多,但我正在考虑使用多个数据集作为技巧。有可能吗?