XslCompiledTransform.Load
サーバー パスを取得する方法がわかりません。私はグーグルで検索し、次のようなことをする必要があることを発見しました:
xslt.Load(System.Web.HttpContext.Server.MapPath(xslPath),
XsltSettings.Default, new XmlUrlResolver());
HttpContext
しかし、 null であるというエラーが返されました。
私も試しました:
xslt.Load(System.Web.HttpServerUtility.MapPath(xslPath),
XsltSettings.Default, new XmlUrlResolver());
また、非静的フィールド、メソッド、またはプロパティにはオブジェクト参照が必要であるというエラーが返されましたSystem.Web.HttpServerUtility.MapPath(string)
xslPath には、Sharepoint Web の xsl ファイルを指すパスがあります。XslCompiledTransform に、サーバー パスを含む xsl ファイルをロードしてもらいたいだけです。出来ますか?もしそうなら、それを行う適切な方法またはハックな方法は何ですか?
編集: xsl ファイルへのパスを含む SPWeb オブジェクトにアクセスできます。しかし、ServerRelativeUrl を確認すると、"/MyTree/xsl.xsl" とだけ表示されます。ここでの問題は、SharePoint リストからファイルをロードするための XslCompiledTransform.Load を取得できなかったことです。
ありがとう。