3

他の投稿を読みましたが、問題が解決していません。環境は VB 2008 (2.0 フレームワーク) です。以下のコードXSLT Compile errorxslt.Load、エラーからの出力です。XSLT を文字列として渡しているので、なぜエラーが発生するのかわかりません。

Public Function xFrmTlogs(ByVal sXLST As String, ByVal sXML As String) As String
    Dim xslt As New XslCompiledTransform()
    Dim HTMLoutput As String
    Dim writer As New StringWriter()

    Try
        xslt.Load(New XmlTextReader(New StringReader(sXLST.ToString)))
    Catch ex As Exception
        xFrmTlogs = ex.ToString
    End Try

    Dim sourceReader As System.Xml.XmlReader = System.Xml.XmlReader.Create(New System.IO.StringReader(sXML))

    Try
        xslt.Transform(sourceReader, Nothing, writer)
    Catch ex As Exception
        xFrmTlogs = ex.ToString
    End Try

    HTMLoutput = writer.ToString()
    writer.Close()
    xFrmTlogs = HTMLoutput
End Function

System.Xml.Xsl.XslLoadException: XSLT コンパイル エラーです。(3,2)でエラーが発生しました。--- System.IO.DirectoryNotFoundException: パス 'H:\Program Files\common\tr_period.xsl' の一部が見つかりませんでした。System.IO.__Error.WinIOError (Int32 errorCode、文字列の多分フルパス) で System.IO.FileStream.Init (文字列パス、FileMode モード、FileAccess アクセス、Int32 権限、ブール値の useRights、FileShare 共有、Int32 bufferSize、FileOptions オプション、SECURITY_ATTRIBUTES secAttrs 、String msgPath、Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) at System.Xml.XmlDownloadManager.GetStream(Uri uri, ICredentials credentials) at System. System.Xml.Xsl.Xslt.XsltLoader の Xml.XmlUrlResolver.GetEntity (Uri absoluteUri、String ロール、Type ofObjectToReturn)。

4

1 に答える 1

0

に格納されているXSLTスクリプトには、またはで別のXSLTスクリプトファイルをインクルード/インポートしようとする要素sXSLTが含まれている可能性があります。そのファイルが存在しないか、アクセスできないため、変換は失敗します。<xsl:include><xsl:import>H:\Program Files\common\tr_period.xsl

于 2012-12-03T10:24:35.420 に答える