文档章节

XML文件转换成 HTML

微尘鉴
 微尘鉴
发布于 2016/02/01 11:49
字数 408
阅读 135
收藏 0
xml
package com.itheima.xml;  
  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.PrintStream;  
  
import javax.xml.transform.Result;  
import javax.xml.transform.Source;  
import javax.xml.transform.Transformer;  
import javax.xml.transform.TransformerFactory;  
import javax.xml.transform.stream.StreamResult;  
import javax.xml.transform.stream.StreamSource;  
  
public class TextXMLToHTML {  
    /** 
     * 将XML转换成HTML 
     * @throws Exception 
     */  
    public static void translate() throws Exception{  
        //创建XML的文件输入流  
        FileInputStream fis=new FileInputStream("F:/123.xml");  
        Source source=new StreamSource(fis);  
          
        //创建XSL文件的输入流  
        FileInputStream fis1=new FileInputStream("F:/123.xsl");  
        Source template=new StreamSource(fis1);  
          
        PrintStream stm=new PrintStream(new File("F:/123.html"));  
        //讲转换后的结果输出到 stm 中即 F:\123.html  
        Result result=new StreamResult(stm);  
        //根据XSL文件创建准个转换对象  
        Transformer transformer=TransformerFactory.newInstance().newTransformer(template);  
        //处理xml进行交换  
        transformer.transform(source, result);   
        //关闭文件流  
        fis1.close();  
        fis.close();  
    }  
      
    public static void main(String[] args){  
        try {  
            translate();  
        } catch (Exception e) {  
            System.out.println("XML转换成HTML失败:"+e.getMessage());  
        }  
    }  
}

 xml配置文件F:/123.xml 

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
<employees>  
    <employee-list>  
        <employee>  
            <id>001</id>  
            <name>李达</name>  
            <gender>男</gender>  
            <address>北京海淀</address>  
        </employee>  
        <employee>  
            <id>002</id>  
            <name>赵超</name>  
            <gender>男</gender>  
            <address>上海黄浦</address>  
        </employee>  
        <employee>  
            <id>003</id>  
            <name>张云</name>  
            <gender>女</gender>  
            <address>山东济南</address>  
        </employee>  
    </employee-list>  
</employees>

 xls配置文件F:/123.xsl 

<?xml version="1.0" encoding="UTF-8"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
<xsl:output method="html" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>  
<xsl:template match="/">  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
<title>员工信息</title>  
</head>  
  
<body>  
    <table width="800px" border="1" bordercolor="#000000" style="border-collapse:collapse">  
        <tr>  
            <td align="center">编号</td>  
            <td align="center">姓名</td>  
            <td align="center">性别</td>  
            <td align="center">地址</td>  
        </tr>  
        <xsl:for-each select="employees/employee-list/employee">  
            <tr>  
                <td align="center"><xsl:value-of select="id"/></td>  
                <td align="center"><xsl:value-of select="name"/></td>  
                <td align="center"><xsl:value-of select="gender"/></td>  
                <td align="center"><xsl:value-of select="address"/></td>    
            </tr>  
        </xsl:for-each>  
  
    </table>  
</body>  
</html>  
  
</xsl:template>  
</xsl:stylesheet>

本文转载自:http://takeme.iteye.com/blog/1825163

共有 人打赏支持
微尘鉴
粉丝 8
博文 80
码字总数 30075
作品 0
海淀
高级程序员
文档制作工具--AurigaDoc

AurigaDoc是一个以java、xml及xsl为基础的文档制作工具,可撰写XML文件,并将之转成其它其它开放格式,像是HTML(单一或多 页)、DTHML、PDF、PostScript、Formatting Object(FO)、RTF、Jav...

匿名
2009/10/20
1K
0
表单设计器的简单思路

在之前的一篇文章中提到了,在MVC中我需要动态生成表单,而这个表单是根据自定义的表单设计器设计出来的。详见:ASP.NET MVC 2生成动态表单的一种最简单的思路。这篇文章,我将演示一下我开发...

王二狗子11
01/03
0
0
Notepad++之TextFX插件的常用命令

最近在写一些小程序,重量级的IDE暂时用不上。于是就试了下Notepad++, 之前只是用它来代替Windows的记事本。所以这次才是真正的接触Notepad++的强大功能。 最值得一提的就是TextFX插件,Tex...

Fxing
2010/09/19
2.6K
0
lucky-xiaohu/textpdf

转换文本文件为PDF 给定一个 XML 模板文件,然后通过 Json 提供模板数据,整合后生成 PDF 文档。 这个项目可以用于需要动态生成 PDF 的场景,例如试卷、合同,等等。 本项目使用来生成二维码...

lucky-xiaohu
2015/08/01
0
0
多款Notepad++实用插件

ExplorerExplorer是文件浏览插件,可以快速的定位当前正在编辑的文件的位置,支持在搜索目录下文件的内容(Find in files)。收藏夹功能可以保存经常使用的目录或文件。image CompareCompare,...

北天_
2016/05/13
151
0

没有更多内容

加载失败,请刷新页面

加载更多

JVM垃圾回收算法

1、新生代与老年代 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ) 和 老年代 ( Old )。 新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor 和 To Survivor。 Java 中的堆...

初雪之音
26分钟前
1
0
主流的消息队列MQ比较,详解MQ的4类应用场景

目前主流的MQ 1.ZeroMQ 号称最快的消息队列系统,尤其针对大吞吐量的需求场景。 扩展性好,开发比较灵活,采用C语言实现,实际上只是一个socket库的重新封装,如果做为消息队列使用,需要开发...

游人未归
今天
3
0
React 服务器渲染原理解析与实践

网盘下载地址 React 服务器渲染原理解析与实践 本套课程,讲解了React中SSR技术的整个搭建思路及流程,完整的从原理上讲清楚了SSR的概念,重点在于讲解编写SSR框架遇到的各种知识点,以及细节...

qq__2304636824
今天
4
0
Jenkins使用

clean install -Dmaven.test.skip=true 系统设置 全局工具配置 其他的配置类似 构建项目配置

1713716445
今天
2
0
多线程

1. 多线程概念。并发和并行的概念。 多线程指的是一段时间内cpu同时执行多个线程。一个程序至少运行>=1个进程,进程就是运行中的程序,而一个进程至少运行>=1个线程,线程是操作系统能调度的...

鱼想吃肉
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部