如何将XSLT转换为带编码数据的纯文本?

时间:2017-11-21 16:16:24

标签: java xml xslt transformer

我正在尝试将XSLT文件转换为纯文本。问题是XSLT文件具有编码值,例如&是&并且Transformer factory输出编码值。除了使用XML解码器然后转换为纯文本之外,还有其他更好的方法吗?

TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer(new StreamSource(XSLT_Source));       
transformer.setOutputProperty("media-type", "text/plain");
transformer.transform(new StreamSource(XSLT_Source), new StreamResult(new FileOutputStream(outputTrager)));  

1 个答案:

答案 0 :(得分:1)

如果您可以修改样式表,请确保它使用<xsl:output method="text"/>。如果要使用JAXP API以编程方式设置,请参阅https://docs.oracle.com/javase/8/docs/api/javax/xml/transform/OutputKeys.html#METHOD,您需要设置

transformer.setOutputProperty(javax.xml.transform.OutputKeys.METHOD, "text");