`
wangmengbk
  • 浏览: 289384 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java编程 使用XSL+XML生成HTML文件

    博客分类:
  • J2EE
阅读更多
1.由于公司需要用xslt 结合 xml 使用,并生成数据,只好研究了一下;下面是一个简单示例:
第一步:创建一个userMessage.xml 文件 文件内容如下:
[color=gray<?xml version="1.0" encoding="GBK" ?>
<?xml-stylesheet type="text/xsl" href="userMessage.xsl"?>
<user>
<message>
<userId>12345678900</userId>
<userName>王冰</userName>
<userAge>24</userAge>
<userSex>男</userSex>
<userTel>15221700051</userTel>
</message>
<message>
<userId>12345678901</userId>
<userName>姚萍</userName>
<userAge>22</userAge>
<userSex>女</userSex>
<userTel>15221700052</userTel>
</message>
<message>
<userId>12345678903</userId>
<userName>知州</userName>
<userAge>25</userAge>
<userSex>男</userSex>
<userTel>15221737053</userTel>
</message>
<message>
<userId>12345678904</userId>
<userName>张璇</userName>
<userAge>23</userAge>
<userSex>女</userSex>
<userTel>15220000054</userTel>
</message>
</user>[/color]

第二步:创建一个 userMessage.xsl 文件,文件格式如下:
[color=violet<?xml version="1.0" encoding="GBK" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" version="1.0" encoding="GBK" standalone="yes"/>
<xsl:template match="/">
<html>
<head>
<title>使用XML+XSLT生成的HTML文件</title>
</head>
<body>
<h2>我的第一个xslt 转换 html</h2>
<table border="1">
<tr bgcolor="#99FF66">
<th align="center">编号</th>  
    <th align="center">姓名</th>
<th align="center">年龄</th>  
    <th align="center">性别</th>
    <th align="center">联系电话</th>
</tr>
<!-- 循环遍历 user元素下的message 的信息 -->
<xsl:for-each select="user/message">
<!-- 要排序的指段 -->
<xsl:sort select="userAge"></xsl:sort>
<tr bgcolor="#99CCFF">
<td><xsl:value-of select="userId"></xsl:value-of></td>
<td><xsl:value-of select="userName"></xsl:value-of></td>
<td><xsl:value-of select="userAge"></xsl:value-of></td>
<td><xsl:value-of select="userSex"></xsl:value-of></td>
<td><xsl:value-of select="userTel"></xsl:value-of></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>[/color]

第三步 :创建一个 Test 测试类:
package com.wm.test;

import java.io.File;
import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class Test {

/**
* 测试类
* @param args
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws ParserConfigurationException {
// 实例化 DocumentBuilderFactory 对象
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
//得到  DocumentBuilder 对象
DocumentBuilder db = dbf.newDocumentBuilder();
//加载 test.xml,并将其转换为 Document 对象
Document doc = db.parse("WebRoot/conf/userMessage.xml");
//实例 DOMSource 对象
DOMSource source = new DOMSource(doc);
//输出结果,并定义结果输出路径
StreamResult result = new StreamResult(new File(
"WebRoot/conf/userMessage.html"));
//加载 xsl 文件
StreamSource ss = new StreamSource(
new File("WebRoot/conf/userMessage.xsl"));
//实例化 TransformerFactory 对象
TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf = tff.newTransformer(ss);

// 定义写个字符串
StringWriter sw = new StringWriter();
    Result resulted = new StreamResult(sw);
//设定字符编码方式
tf.setOutputProperty("encoding", "GBK");
//将定义好的 .xsl 格式 转换
tf.transform(source, result);

tf.transform(source, resulted);
String str = null;
//将结果写为一个字符串,然后打印在控制台上
str = sw.toString();
System.out.println(str);

} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}

}


运行结果可以在路径
WebRoot/conf/  下找到 userMessage.html 文件;
该文件的效果为:
[color=gray]<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=GBK">
<title>&#20351;&#29992;XML+XSLT&#29983;&#25104;&#30340;HTML&#25991;&#20214;</title>
</head>
<body>
<h2>&#25105;&#30340;&#31532;&#19968;&#20010;xslt &#36716;&#25442; html</h2>
<table border="1">
<tr bgcolor="#99FF66">
<th align="center">&#32534;&#21495;</th><th align="center">&#22995;&#21517;</th><th align="center">&#24180;&#40836;</th><th align="center">&#24615;&#21035;</th><th align="center">&#32852;&#31995;&#30005;&#35805;</th>
</tr>
<tr bgcolor="#99CCFF">
<td>12345678901</td><td>&#23002;&#33805;</td><td>22</td><td>&#22899;</td><td>15221737052</td>
</tr>
<tr bgcolor="#99CCFF">
<td>12345678904</td><td>&#24352;&#29831;</td><td>23</td><td>&#22899;</td><td>15221737054</td>
</tr>
<tr bgcolor="#99CCFF">
<td>12345678900</td><td>&#29579;&#23391;</td><td>24</td><td>&#30007;</td><td>15221737051</td>
</tr>
<tr bgcolor="#99CCFF">
<td>12345678903</td><td>&#30693;&#24030;</td><td>25</td><td>&#30007;</td><td>15221737053</td>
</tr>
</table>
</body>
</html>[color]

运行结果以下显示:
  • 大小: 71.7 KB
分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Java and XML, 3rd Edition

    它将教您如何使用XML的各种应用程序编程接口(API)、工具和技巧来构建实际的应用程序,为管理从配置文件到网络站点在内的所有信息提供一条全新的途径。 本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA与XML.rar

    它将教您如何使用XML的各种应用程序编程接口(API)、工具和技巧来构建实际的应用程序,为管理从配置文件到网络站点在内的所有信息提供一条全新的途径。 本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD以及...

    XSLTransformerInJava:XML - Java 中的 XSL 转换器

    XSL 转换器该程序使用 XSL 文件从 xml 文件生成新的 XML 输出。

    xmlspy.2013-patch

    它提供了世界领先的XML编辑器,在原图形架构设计师,一个代码生成器,文件转换器,调试器,分析器,完整的数据库集成,支持WSDL,SOAP,XSLT,XPath,XQuery,XBRL,Open XML文档,加上视觉Studio和Eclipse插件,...

    altova-xmlspy-enterprise-2010-v12-3

    它提供了世界领先的XML编辑器,在原图形架构设计师,一个代码生成器,文件转换器,调试器,分析器,完整的数据库集成,支持WSDL,SOAP,XSLT,XPath,XQuery,XBRL,Open XML文档,加上视觉Studio和Eclipse插件,...

    XMLSPY 2010 企业版

     XML Schema/DTD 的更多情况,可以看看 IBM 中文站:XML Schema 于 XML DTD的技术比较于分析 +ZDNET CHINA 特稿: XML Schema用法 Java / C++ 代码生成器,这个可以从 XML Schemas 文档中生成Java/C++ 代码。...

    Java数据库编程宝典3

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    XML实用大全----xml详细参考书

    比较全面的XML参考电子书!强列推荐。如下是目录: 第一部分 XML简介... 9 第1章 XML概览... 9 1.1 什么是XML. 10 1.1.1 XML是元标记语言... 10 1.1.2 XML描述的是结构和语义,而不是格式化... 10 1.2 为什么...

    JavaScript完全自学宝典 源代码

    13.4.xsl 使用XSLT实现“Hello World”的XSLT文件。 13.5.html 内嵌的XML数据岛。 13.6.html 外嵌的XML数据岛。 13.7.html 在HTML中显示XML数据。 13.8.html JavaScript操作XML数据岛。 13.9....

    Java核心技术II(第8版)

    第一章 流与文件 1.1 流 1.1.1 读入和写出字节 1.1.2 完整的流家族 1.1.3 组合流过滤器 1.2 文本输入与输出 1.2.1 如何写出文本输出 1.2.2 如何读入文本输入 1.2.3 以文本格式存储对象 1.2.4 字符集 1.3 读入和写出...

    Java数据库编程宝典2

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java数据库编程宝典4

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java数据库编程宝典1

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    Java理论与实践:并发在一定程度上使一切变得简单

    本文介绍了当项目中需要XML解析器、文本索引程序和搜索引擎、正则表达式编译器、XSL处理器或PDF生成器时,大多数人从不会考虑自己去编写这些实用程序。并介绍了util.concurrent包包含许多有用的类。它们是许多多线程...

    AltovaXMLSpy2006

    Java / C++ 代码生成器,这个可以从 XML Schemas 文档中生成 Java/C++ 代码。 集成 Tamino, Tamino 产品是世界第一套以纯粹且标准的XML格式进行资料储存于抓取的信息服务器,一个能够将企业资料转换为Internet...

Global site tag (gtag.js) - Google Analytics