文档章节

XML文件转换成 HTML

微尘鉴
 微尘鉴
发布于 2016/02/01 11:49
字数 408
阅读 148
收藏 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++实用插件

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

北天_
2016/05/13
151
0
Notepad++之TextFX插件的常用命令

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

Fxing
2010/09/19
2.6K
0
ASP.NET MVC 2生成动态表单的一种最简单的思路

在BPM、OA等系统中,都会存在一个表单设计器。有些是通过操作gridview来完成一个表单的设计;有些是通过类似VS拖拽的方法完成一个表单的设计。很明显后面一种优越于前面一种。无论是哪种,最...

王二狗子11
01/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
今天
4
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
今天
4
0
SpringBoot 整合异步调用方法

1. 在 SpringBoot 主类上使用 @EnableAsync 注解,开启异步调用功能 package com.codingos.springbootdemo;import org.springframework.boot.SpringApplication;import org.springfra......

北漂的我
今天
1
0
0015-如何使用Sentry管理Hive外部表权限

1.文档编写目的 本文档主要讲述如何使用Sentry对Hive外部表权限管理,并基于以下假设: 1.操作系统版本:RedHat6.5 2.CM版本:CM 5.11.1 3.集群已启用Kerberos和Sentry 4.采用具有sudo权限的...

Hadoop实操
今天
5
0
边缘计算与数据中心的发展趋势

导读 Gartner研究表明,人工智能、物联网和5G助力下一代商业创新,由此产生大量数据,2020年前企业将使用超过75亿台联网设备。 在几乎每个方面,社会的节奏都正变得更快。我们希望客户服务问...

问题终结者
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部