如何从java代码调用XSL模板?
请注意,我不需要知道如何通过Java中的XSL转换xml docuemnt。
我需要的是,我有一些XSLT文档,其中包含一个可以执行某些操作的模板,例如:
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<tr>
<td>.</td>
<td>.</td>
</tr>
</table>
</body>
</html>
</xsl:template>
然后我需要从java代码调用该模板。怎么??
谢谢所有人,我做到了,请看: http://m-hewedy.blogspot.com/2009/12/how-to-call-xslt-template-from-your.html
答案 0 :(得分:16)
您可以使用javax.xml.transformer.Transformer
API。
这是一个基本的启动示例:
Source xmlInput = new StreamSource(new File("c:/path/to/input.xml"));
Source xsl = new StreamSource(new File("c:/path/to/file.xsl"));
Result xmlOutput = new StreamResult(new File("c:/path/to/output.xml"));
try {
Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
transformer.transform(xmlInput, xmlOutput);
} catch (TransformerException e) {
// Handle.
}
答案 1 :(得分:2)
Here's some code用于简单的XSL转换,以及在Java中使用XSL的一些提示。和here's another example一起使用XML和XSL示例。
答案 2 :(得分:0)
您的问题是您有一个不需要输入文档的XSLT吗?然后只需给Transformer对象一些最小的文档:
transformer.transform(new StreamSource(new StringReader(“&lt; empty /&gt;”)),yourResult);