2010-01-15 147 views
1

我知道它對於大多數人來說都是非常簡單的問題。但我無法從Sharepoint文檔庫中加載xsl文件。從文檔庫sharepoint讀取xsl文件

我嘗試這樣做

getXSL = Server.MapPath("//Documents/myxsl.xslt"); 

    XslCompiledTransform xslt = new XslCompiledTransform(); 


     xslt.Load(getXSL); 

但如果即時通訊做這樣它正在它的Inetpub/WSS/VirtualDirectories/80 .... 我希望它是指我的文檔庫在哪裏已經上傳我的xslt.Any有一個想法如何實現這一目標?

回答

0

您應該使用SharePoint API來訪問文檔庫,而不是標準的ASP.NET對象模型。

你想要的東西一樣(假設你從一個Web部件運行這一點,並有一個SPContext反對方便)

SPFile spXslt = SPContext.Current.Web.Lists["Documents"].Items["myxsl.xslt"].File; 

從這裏你可以流spfile中的內容,並與使用XML對象模型。

+0

你能告訴我怎麼做這個... 我試過你,然後加了這個 Stream feedXSL = spXslt.OpenBinaryStream(); XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load(getXSL); 但其顯示錯誤..... – TSSS22 2010-01-15 19:00:32

+0

什麼是錯誤? – 2010-01-15 19:29:20

+0

有basicaly兩個錯誤....一個 錯誤\t \t 3爲最好重載方法匹配「System.Xml.Xsl.XslCompiledTransform.Load(System.Xml.XmlReader)」具有一些無效參數\t 錯誤參數 '1':不能從 'System.IO.Stream' 轉換爲 'System.Xml.XmlReader' \t 錯誤\t \t 1爲最好重載方法匹配 'Microsoft.SharePoint.SPListItemCollection.this [INT]'有一些無效參數\t 錯誤參數'1':無法從'字符串'轉換爲' int'\t 這些錯誤在你的2行.... – TSSS22 2010-01-15 19:44:24