【发布时间】:2012-12-02 19:21:57
【问题描述】:
我已阅读其他帖子,但它们并没有解决我的问题。
环境为VB 2008(2.0框架)
下面的代码导致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 Function
System.Xml.Xsl.XslLoadException:XSLT 编译错误。 (3,2) 处发生错误。 --- System.IO.DirectoryNotFoundException:找不到路径“H:\Program”的一部分 文件\common\tr_period.xsl'。 在 System.IO.__Error.WinIOError(Int32 错误代码,字符串可能全路径) 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs,字符串 msgPath,布尔 bFromProxy) 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare 共享,Int32 缓冲区大小) 在 System.Xml.XmlDownloadManager.GetStream(Uri uri,ICredentials 凭据) 在 System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri,字符串角色,类型 ofObjectToReturn) 在 System.Xml.Xsl.Xslt.XsltLoader.CreateReader(Uri uri,XmlResolver xmlResolver) 在 System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(Uri uri,布尔包含) 在 System.Xml.Xsl.Xslt.XsltLoader.LoadInclude() 在 System.Xml.Xsl.Xslt.XsltLoader.LoadRealStylesheet() 在 System.Xml.Xsl.Xslt.XsltLoader.LoadDocument() 在 System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader 阅读器,布尔包含) --- 内部异常堆栈跟踪结束 --- 在 System.Xml.Xsl.Xslt.XsltLoader.LoadStylesheet(XmlReader 阅读器,布尔包含) 在 System.Xml.Xsl.Xslt.XsltLoader.Load(编译器编译器,对象样式表,XmlResolver xml解析器) 在 System.Xml.Xsl.Xslt.Compiler.Compile(对象样式表,XmlResolver xmlResolver, QilExpression&qil) 在 System.Xml.Xsl.XslCompiledTransform.CompileXsltToQil(对象样式表,XsltSettings 设置,XmlResolver 样式表解析器) 在 System.Xml.Xsl.XslCompiledTransform.LoadInternal(对象样式表,XsltSettings 设置,XmlResolver 样式表解析器) 在 System.Xml.Xsl.XslCompiledTransform.Load(XmlReader 样式表) 在 H:\Documents 中的 VfiSapphire.COMWrapper.xFrmTlogs(String sXLST, String sXML) 和 Settings\xxx\My Documents\Visual Studio2008\ProgramName\ModuleName\PdkBo.vb:line 709
【问题讨论】:
-
"找不到路径的一部分 'H:\Program Files\common\tr_period.xsl'" 如果您在 Windows 资源管理器中键入该路径会怎样?
-
它正在尝试引用 Web 服务器上的文件 ..\common\tr_period.xsl'
-
那我觉得“
.”不是你想的那样。不是服务器的URL,是文件路径。
标签: vb.net