我正在使用xslt转换将xml文件转换为html文件:
TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("transform.xsl"));
Transformer transformer = factory.newTransformer(xslt);
Source text = new StreamSource(new File("test.xml"));
transformer.transform(text, new StreamResult(new File("output.html")));
当我这样做时,我得到一个可以用浏览器打开的html文件,但是当我尝试将该html转换为带有iText的pdf文件时,我得到一个例外,因为有些标签没有正确关闭。示例:<br>
(而不是<br/>
)。
我可以以某种方式指示变压器始终关闭标签吗?
答案 0 :(得分:3)
最可能的原因是您在样式表中使用HTML输出方法:
<xsl:output method="html">
你应该使用
<xsl:output method="xml">
如果您需要XML(XHTML)序列化。
更多信息可以在官方规范中找到:http://www.w3.org/TR/xslt#output