我的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(y);
      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来吧,分仍身外之物,不够,开口我给你加!!

解决方案 »

  1.   

    你的xslt是怎样的,你指定了xsl:stylesheet的version没,如下:
    <?xml version="1.0" encoding="GB2312" ?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="uri:xsl">
    or
    <?xml version="1.0" encoding="GB2312" ?> 
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
      

  2.   

    太简单
    http://expert.csdn.net/Expert/TopicView1.asp?id=1562645