【发布时间】:2011-10-13 13:53:33
【问题描述】:
我有 2 个字符串,一个使用 Java DOM 接口构造的 XML 字符串,以及一个我想绑定到该 XML 文件的外部 XSL 文件。我尝试使用 Java 转换方法,但没有运气(这意味着我似乎无法在网络上找到任何解决方案)。
如何获取 XML 文件和 XSL 文件并从中生成 HTML 字符串?
我正在尝试将一个 XML 页面注入到我的 JSP 页面中。
澄清一下: 这是在 servlet 中完成的,而不是在 JavaScript 中。
更多信息:
我在运行时将 XML 创建为字符串,我得到的 XSL 文件存储在服务器上,我想做的是在用户单击某个特定位置时将 XSL 文件更改的 XML 显示给用户网站上的链接,我想将其嵌入到现有的 JSP 页面中(以保持网站的标准外观)。
这是我目前得到的:
String convertedXML = new String();
TransformerFactory factory1 =
TransformerFactory.newInstance();
Source xsl = new StreamSource("my.xsl");
Result result11 = null;
try {
Templates template = factory1.newTemplates(xsl);
Transformer transformer1 = template.newTransformer();
Source xml = new StreamSource(xmlString);
result11 = new StreamResult(convertedXML);
transformer1.transform(xml, result11);
} catch(Exception e) {
System.out.println("Not Good");
}
catch 前的最后一行抛出下一个错误:
javax.xml.transform.TransformerException:
java.io.FileNotFoundException:在 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(未知 来源)在 com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(未知 来源)在 controllers.UserController.schedulePage(UserController.java:394)
【问题讨论】:
-
那么你只是想将两个文件的内容加载到字符串中吗?这与 XML/XSLT/HTML 有什么关系?您是什么意思将 XSL 文件“绑定”到 XML 文件? “没有运气”是什么意思 - 你有一个错误?你得到错误的结果?你的 Java 代码是什么样的?
-
究竟是什么不工作?是否有任何错误信息?异常处理肯定会发出比“不好”更有用的东西吗?
-
源(Source xsl)和结果似乎不包含文件/字符串内容
-
@nayish:这好多了...现在您的代码目前在做什么?它会抛出异常并打印“不好”吗?如果是这样,让它打印出实际的异常。有什么例外?
-
什么是
xmlString?如果在构造 StreamSource 时提供字符串参数,则该字符串应该是 URL。
标签: java html xml xslt servlets