Xml通过Xsl或Xslt转换为html

wylc123 1年前 ⋅ 976 阅读

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源点

相关文章推荐

全部评论: 0

    我有话说: