200大放送,用JAXP对XSLT进行转换

littlecpu 2003-04-30 03:49:20
我的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

来吧,分仍身外之物,不够,开口我给你加!!
...全文
18 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
littlecpu 2003-05-04
  • 打赏
  • 举报
回复
试试
vcvj 2003-04-30
  • 打赏
  • 举报
回复
太简单
http://expert.csdn.net/Expert/TopicView1.asp?id=1562645
littlecpu 2003-04-30
  • 打赏
  • 举报
回复
up
littlecpu 2003-04-30
  • 打赏
  • 举报
回复
指定了,没有效果啊,谢谢
希偌 2003-04-30
  • 打赏
  • 举报
回复
你的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">
littlecpu 2003-04-30
  • 打赏
  • 举报
回复
我的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

来吧,分仍身外之物,不够,开口我给你加!!

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧