200大放送,用JAXP对XSLT进行转换
我的JAXP使用XSLT转换成HTML的函数
public static String getHTML(Document xmlDoc, Document xslDoc)
{
java.io.StringWriter writer = new java.io.StringWriter();
Source xml = new DOMSource(xmlDoc);
Source xsl = new DOMSource(xslDoc);
Result result = new StreamResult(writer);
try
{
Transformer trans = TransformerFactory.newInstance().newTransformer(
xsl);
trans.setOutputProperty(OutputKeys.METHOD, "HTML");
trans.setOutputProperty(OutputKeys.VERSION, "4.0");
trans.transform(xml, result); //line 204
return writer.getBuffer().toString();
}
catch (Exception e)
{
e.printStackTrace();
return "<ERROR_PLEASE_CHECK>";
}
}
我的测试
public static void main(String[] args)
{
try{
String s = getFileContent("resource\\demo.xml","GB2312");
Document doc = XMLUtil.STRING_TO_DOM(s);
String y = getFileContent("resource\\style.xsl","GB2312");
Document doc2 = XMLUtil.STRING_TO_DOM(s);
String s2 = XMLUtil.getHTML(doc,doc2); //line 22
java.io.FileWriter fw = new FileWriter("resource\\result.html");
fw.write(s2);
fw.close();
}catch(Exception ex){
System.out.println(ex);
};
}
结果?
javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: stylesheet 要求属性:version
at org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:767)
at CDCA.UTIL.XMLUtil.getHTML(XMLUtil.java:204)
at viewcsdn.Bean1.main(Bean1.java:22)
/*****************************************************************
错在那里了???Help ME
来吧,分仍身外之物,不够,开口我给你加!!