3
我們有返回以下WCF服務:壓扁並在SSRS結合WCF服務的結果集的顯示報告
MessageContract
|
+-- List<TopLevelDataContract>
TopLevelDataContract
|
+-- FirstChildDataContract
+-- SecondChildDataContract
+-- ThirdChildDataContract
FirstChildDataContract
|
+-- FieldOne
+-- AnotherField
SecondChildDataContract
|
+-- FieldTwo
+-- YetAnotherField
ThirdChildDataContract
|
+-- FieldThree
+-- AndAnotherField
爲了充分顯示在SSRS這些datacontracts,我們需要把它們壓扁成表格形式,像這樣:
+----------+--------------+----------+-----------------+------------+-----------------+
| FieldOne | AnotherField | FieldTwo | YetAnotherField | FieldThree | AndAnotherField |
+----------+--------------+----------+-----------------+------------+-----------------+
... rows of data...
然而ElementPath
表達/ XMLDP查詢來實現,這是我們規避。我們試過下面沒有喜悅:
- 獲取的
FirstChildDataContract
類型的所有 「行」:
<ElementPath IgnoreNamespaces="true"> MessageContract{}/TopLevelDataContracts{}/TopLevelDataContract{}/FirstChildDataContract </ElementPath>
- 這得到所有的孩子,但在原始的XML格式:
<ElementPath IgnoreNamespaces="true"> MessageContract{}/TopLevelDataContracts{}/TopLevelDataContract{@} </ElementPath>
- 這不一樣的(1):
<ElementPath IgnoreNamespaces="true"> * </ElementPath>
什麼是正確的ElementPath
表達式中使用,如果能夠實現這一目標,?
(旁白:?爲什麼沒有微軟只是使用XPath,這是不是滾動自己幾乎但並非十分樣XPath查詢語言證據充分的,靈活的,)
哇,我甚至不知道你可以將SSRS綁定到WCF。如果你有這麼好的工作,那就好。 SSRS主要由SQL,ODBC,Sharepoint,Raw XML構成。僅將SSRS中的數據源直接放入數據庫中是否存在安全或開銷風險?或者,服務不是直接從數據庫發送數據?我認爲直接在Visual Studio中使用RDLC文件可能是更好的方法,因爲我相信你可以使用WCF並使通用POCO列表傳遞給它。使用SSRS可能會花費很多工作量,但如果其他人回答,我很好奇。 – djangojazz 2013-03-13 16:11:13
沒有使用WCF和SSRS的經驗,但我很好奇地挖掘了一些其他的東西。這樣的方法會對你有用嗎? http://devblog.bardoloi.com/2011/09/using-wcf-web-services-as-data-source.html – 2013-03-18 16:54:53