Xml通过Xsl或Xslt转换为html,提供两个方法,生成html文件,或返回html内容。
/**
* FileName: XslTransformer.java
* @Description: TODO(Xml通过Xsl或Xslt转换为html)
* All rights Reserved, Designed By CNKI
* Copyright: Copyright(C) 2018-2100
* Company CNKI.
* @author: SongBin
* @version V1.0
* Createdate:2018年5月19日 下午2:53:05
*
* Modification History:
* Date Author Version Discription
* -----------------------------------------------------------------------------------
* 2018年5月19日 SongBin 1.0 1.0
* Why & What is modified: <修改原因描述>
*/
package cnki.szrw.base;
import java.io.File;
import java.io.StringWriter;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
/**
* @ClassName: XslTransformer
* @Description: (Xml通过Xsl或Xslt转换为html)
* @author: SongBin
* @date: 2018年5月19日 下午2:53:05
*/
public class XslTransformer {
public static boolean TransformToHtmlFile(String xmlFileName ,String htmlFileName,String xslFileName){
boolean flag = false;
try {
TransformerFactory tFac=TransformerFactory.newInstance();
Source xslSource= new StreamSource(xslFileName);
Transformer t=tFac.newTransformer(xslSource);
File xmlFile=new File(xmlFileName);
File htmlFile=new File(htmlFileName);
Source source=new StreamSource(xmlFile);
Result result=new StreamResult(htmlFile);
t.transform(source, result);
if(htmlFile.exists()){
flag =true;
}
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return flag;
}
public static String TransformToHtmlContent(String xmlFileName, String xslFileName){
String strResult = "";
try {
TransformerFactory tFac=TransformerFactory.newInstance();
Source xslSource= new StreamSource(xslFileName);
Transformer t=tFac.newTransformer(xslSource);
File xmlFile=new File(xmlFileName);
Source source=new StreamSource(xmlFile);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
t.transform(source, result);
strResult = writer.toString();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return strResult;
}
public static void main(String []args){
// String xmlFileName="d:\\dll\\xmltest.xml";
// String htmlFileName="d:\\dll\\html_reportxt_fz.html";
// String xslFileName ="d:\\dll\\docbookx.xslt";
// XslTransformer.TransformToHtmlFile(xmlFileName, htmlFileName, xslFileName);
// System.out.println("转换完成");
String xmlFileName="d:\\xml2html\\xml.xml";
String xslFileName ="d:\\xml2html\\xsl.xsl";
XslTransformer.TransformToHtmlContent(xmlFileName,xslFileName);
System.out.println("转换完成");
}
}
更多内容请访问:IT源点
注意:本文归作者所有,未经作者允许,不得转载