我需要在我的 java 应用程序中进行转换。我无法加载xsl
文件。我正在使用tomcat,路径位置是:
C:/tomcat/webapps/ROOT/WEB-INF/classes/config/myfile.xsl
如果我使用文件加载的完整路径,但如果我使用/config/myfile.xsl
我得到一个 FileNotFoundException:
StreamSource xslt = new StreamSource("/config/myfile.xsl");
您可以使用ServletContext.getResource
来解析相对于 webapp 的路径,例如
StreamSource xslt = new StreamSource(ctx.getResource(
"/WEB-INF/classes/config/myfile.xsl").toString());
或者,您可以getResourceAsStream
从输入流而不是 URL 使用和创建 StreamSource,但如果这样做,则样式表中的相对 URL 将无法解析,因此您不能document
在 XSLT 中使用具有相对 URI 的函数。