我正在尝试将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)));
答案 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");