感谢作者:http://blog.youkuaiyun.com/kunshan_shenbin/article/details/4483590
测试代码如下:
TransformerTest.java
- importjava.io.File;
- importjava.io.IOException;
- importjava.io.StringWriter;
- importjava.io.UnsupportedEncodingException;
- importjava.net.MalformedURLException;
- importjavax.xml.transform.Transformer;
- importjavax.xml.transform.TransformerFactory;
- importjavax.xml.transform.stream.StreamSource;
- importorg.dom4j.Document;
- importorg.dom4j.DocumentException;
- importorg.dom4j.DocumentHelper;
- importorg.dom4j.io.DocumentResult;
- importorg.dom4j.io.DocumentSource;
- importorg.dom4j.io.HTMLWriter;
- importorg.dom4j.io.OutputFormat;
- importorg.dom4j.io.SAXReader;
- publicclassTransformerTest{
- publicstaticvoidmain(String[]args)throwsException{
- TransformerFactoryfactory=TransformerFactory.newInstance();
- Transformertransformer=factory.newTransformer(newStreamSource(newFile("test.xsl")));
- SAXReaderreader=newSAXReader();
- DocumentSourcesource=newDocumentSource(reader.read("test.xml"));
- DocumentResultresult=newDocumentResult();
- transformer.transform(source,result);
- DocumenttransformedDoc=result.getDocument();
- toPretyHtml(transformedDoc);
- }
- publicstaticDocumentread(StringfileName)throwsMalformedURLException,DocumentException{
- SAXReaderreader=newSAXReader();
- Documentdocument=reader.read(newFile(fileName));
- returndocument;
- }
- publicstaticvoidtoPretyHtml(Documentdocument)throwsException{
- StringWritersw=newStringWriter();
- OutputFormatformat=OutputFormat.createPrettyPrint();
- HTMLWriterwriter;
- try{
- writer=newHTMLWriter(sw,format);
- Documentdoc=DocumentHelper.parseText(document.asXML());
- writer.write(doc);
- writer.flush();
- System.out.println(sw.toString());
- }catch(UnsupportedEncodingExceptione){
- e.printStackTrace();
- }catch(IOExceptione){
- e.printStackTrace();
- }
- }
- //publicstaticDocumentstyleDocument(Documentdocument,Stringstylesheet)
- //throwsException{
- //
- //TransformerFactoryfactory=TransformerFactory.newInstance();
- //Transformertransformer=factory.newTransformer(newStreamSource(stylesheet));
- //DocumentSourcesource=newDocumentSource(document);
- //DocumentResultresult=newDocumentResult();
- //transformer.transform(source,result);
- //DocumenttransformedDoc=result.getDocument();
- //
- //returntransformedDoc;
- //}
- //
- //publicstaticvoidmain(String[]argv)throwsException{
- //
- //Documentdocument=read("test1.xml");
- //DocumenttransformedDoc=styleDocument(document,"test1.xsl");
- //
- System.out.println(transformedDoc.asXML());
- //toPretyHtml(transformedDoc);
- //}
- }
test.xsl:
- <?xmlversion="1.0"?>
- <xsl:stylesheetxmlns:xsl="http://www.w3.org/1999/XSL/Transform"version="1.0">
- <xsl:templatematch="doc">
- <html>
- <out>
- <xsl:value-ofselect="."/>
- </out>
- </html>
- </xsl:template>
- </xsl:stylesheet>
test.xml:
- <?xmlversion="1.0"?>
- <doc>Hello</doc>