java - 在 Java 中使用 XSLT 将 XML 转换为 HTML 字符串

标签 java ajax xml xslt

我现在可以使用以下代码生成 HTML 文件:

FileInputStream xml = new FileInputStream("original.xml");  
FileInputStream xsl = new FileInputStream("converter.xsl");
FileOutputStream out = new FileOutputStream("result.html");

Source xmlDoc =  new StreamSource(xml);
Source xslDoc =  new StreamSource(xsl);
Result result =  new StreamResult(out);

TransformerFactory factory = TransformerFactory.newInstance();            
Transformer trans = factory.newTransformer(xslDoc);
trans.transform(xmlDoc, result); 

但是,我想生成一个 Java 字符串而不是外部 HTML 文件,以便我可以通过 Ajax 回调将结果传递回我的 JSP 页面。我怎样才能修改这段代码来做到这一点?

最佳答案

FileOutputStream 替换为 StringWriter,然后在最后调用 StringWriter 上的 toString()。像这样的东西。

FileInputStream xml = new FileInputStream("original.xml");  
FileInputStream xsl = new FileInputStream("converter.xsl");
StringWriter writer = new StringWriter();

Source xmlDoc =  new StreamSource(xml);
Source xslDoc =  new StreamSource(xsl);
Result result =  new StreamResult(writer);

TransformerFactory factory = TransformerFactory.newInstance();            
Transformer trans = factory.newTransformer(xslDoc);
trans.transform(xmlDoc, result); 

String outputString = writer.toString();

关于java - 在 Java 中使用 XSLT 将 XML 转换为 HTML 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665009/

相关文章:

java - 从 Arraylist 中删除重复项并获取列表中一个属性的重复项

javascript - 两个单独的 html 文件之间的平滑幻灯片过渡

ajax - JSF PrimeFaces/Ajax 渲染到 Datable 无法将项目添加到列表

javascript - Ajax XML 响应为 NULL

php - 如何使用 PHP 在 GCIDE XML 中搜索

GlassFish 上的 JavaMail 和 Mandril

java - 如何使用 apache.httpcomponents.httpclient 在 Elasticsearch 中执行搜索模板

java - GeoTools 中的编码器不适用于 SLD

javascript - 通过ajax延迟加载的问题

xml - Postgres : Importing huge XML files