我读过其他的帖子,但它们并没有解决我的问题。环境是VB 2008 (2.0Framework),下面的代码在下面的XSLT Compile error行引起一个xslt.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 FunctionSystem.Xml.Xsl.XslLoadException: XSLT编译错误。在(3,2)处发生了错误。-- System.IO.DirectoryNotFoundException:未能找到路径'H:\Program \ path \tr_周期. not‘的一部分。在System.IO.__Error.WinIOError(Int32 errorCode,String maybeFullPath)的System.IO.FileStream.Init(字符串路径、FileMode模式、FileAccess access、Int32权限、布尔值useRights、FileShare共享、Int32 bufferSize、FileOptions options、SECURITY_ATTRIBUTES secAttrs、String msgPath、Boolean )的System.IO.FileStream.Init(字符串路径、字符串模式、access、份额、)处( uri,凭据)在(Uri,字符串角色,在System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri uri输入ofObjectToReturn),在System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(Uri uri输入XmlResolver xmlResolver),在System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader阅读器输入ofObjectToReturn() at System.Xml.Xsl.Xslt.XsltLoader.LoadInclude() at System.Xml.Xsl.Xslt.XsltLoader.LoadRealStylesheet() at System.Xml.Xsl.Xslt.XsltLoader.LoadDocument(),布尔包含)--内部异常堆栈跟踪的结束--在System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader阅读器,布尔包含)在System.Xml.Xsl.Xslt.XsltLoader.Load(编译器、对象样式表、xmlResolver xmlResolver)的System.Xml.Xsl.Xslt.Compiler.Compile(对象样式表、XmlResolver XmlResolver、QilExpression&qil)的System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object样式表、XsltSettings设置、XmlResolver stylesheetResolver上的System.Xml.Xsl.XslCompiledTransform.LoadInternal(Object样式表、XsltSettings设置,( System.Xml.Xsl.XslCompiledTransform.Load(XmlReader样式表)在H:\Documents和Settings\xxx\My Documents\Visual Studio2008\ProgramName\ModuleName\PdkBo.vb:line 709中的VfiSapphire.COMWrapper.xFrmTlogs(String sXLST,String sXML)
发布于 2012-12-03 10:24:35
存储在sXSLT中的XSLT脚本可能包含一个<xsl:include>或<xsl:import>元素,该元素试图在H:\Program Files\common\tr_period.xsl中包含/导入另一个XSLT脚本文件。由于该文件不存在,或者无法访问,所以转换失败。
https://stackoverflow.com/questions/13672823
复制相似问题