`
wangmengbk
  • 浏览: 291887 次
  • 性别: 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
分享到:
评论

相关推荐

    XML+xsl讲XML文档的内容用xsl建表

    5. **应用转换**:最后,使用支持XSLT的工具或编程语言(如Java、Python等)将XML文档和XSLT模板结合,执行转换生成HTML或其他格式的输出。 通过这样的过程,我们可以将复杂、结构化的XML数据转化为易于理解和操作...

    xml xsl网页生成

    - 网页动态生成:服务器端使用XML和XSLT将后端数据转换成HTML,然后发送给浏览器。 - 文档转换:将XML格式的文档转换为PDF、RTF或其他格式。 6. 工具与实现: - 处理XML和XSLT的工具很多,例如Java的SAX、DOM库...

    xml和xsl生成html页面

    在实际应用中,我们可以使用XML解析器(如Java的DOM或SAX解析器)读取XML文档,然后结合XSLT处理器(如Saxon或Xalan)和XSL样式表进行转换,生成HTML页面供浏览器展示。例如,`test.xml`可能是包含结构化数据的XML...

    javaxml,xsl,html文件转换借鉴.pdf

    在Java编程中,XML(Extensible Markup Language)、XSL(eXtensible Stylesheet Language)和HTML(Hypertext Markup Language)是三种常见的数据格式,它们各自有特定的应用场景。XML用于结构化数据存储,XSL用于...

    java读取xsl文件,读取文档

    在Java编程中,读取XSL(eXtensible Stylesheet Language)文件是常见的任务,尤其是在处理XML数据转换时。XSL文件用于定义XML数据的样式和布局,通过与XML文件结合,可以生成HTML、PDF或其他格式的输出。在本案例中...

    基于java根据模板动态生成PDF文件

    本主题聚焦于使用Java编程语言,结合特定的库或框架,根据预定义的模板来动态生成PDF文件。以下是关于这个主题的详细知识讲解。 一、Java与PDF生成 Java作为一门广泛使用的后端开发语言,提供了丰富的库来处理PDF...

    xsl与xml转化的实例

    - **动态网站**:服务器端可以使用XSL将XML数据转换为动态生成的HTML页面。 - **文档生成**:XML可以作为源数据,通过XSL转换生成PDF报告、Word文档等。 - **本地化**:多语言网站使用XML存储文本资源,XSL根据用户...

    java 使用ITextRenderer将html模块生成pdf文件工具类

    下面我们将详细探讨如何使用ITextRenderer将HTML转换为PDF,并介绍相关的Java编程知识。 首先,你需要引入ITextRenderer和相关的依赖库,如 Batik (一个SVG渲染引擎)。这些库可以通过Maven或Gradle等构建工具添加到...

    用XSL把XML转化在EXCEL导出

    在实际应用中,这个过程可以通过各种编程语言实现,例如在Java中使用JAXB或DOM4J库处理XML,使用Saxon进行XSLT转换,最后通过HTTP响应将Excel文件发送给用户下载。 标签“XSL,XML,EXCEL”明确了涉及的关键技术。XSL...

    java xml,java生成xml文档,java操作XML文件设置值

    Java XML技术是Java编程语言中处理XML(可扩展标记语言)文档的重要部分。XML作为一种数据交换格式,广泛用于网络通信、数据存储以及配置文件等场景。在Java中,我们可以使用多种库来创建、读取、修改和解析XML文档...

    WEB图形格式SVG及基于XML+XSL的动态生成技术

    虽然SVG的动态生成可以直接通过编程语言(如Java、JSP、Perl等)实现,但这种方法往往导致代码、数据和表现形式的混杂,不易维护和扩展。为了解决这一问题,XML(可扩展标记语言)和XSL(可扩展样式表语言)的组合...

    XML与CSS、XML与XSL及在页面中直接调用XML的数据

    XML的结构清晰,易于机器解析和生成,因此在Web开发、数据交换、配置文件等领域广泛应用。 1. **XML的基本结构** XML文档由元素构成,每个元素都包含开始标签和结束标签,如`&lt;element&gt;`和`&lt;/element&gt;`。元素可以...

    利用xml和xsl自动生成菜单

    在实际应用中,可以通过编程语言(如Java、Python等)或者XSLT处理器(如Saxon、Xalan等)来执行XML到XSL的转换,将XML数据转化为HTML,然后在网页上显示。这种方式的好处在于,菜单的结构和样式分离,使得菜单的...

    JSP+XML构架网站的实例

    总的来说,JSP+XML架构网站的实例展示了如何利用XML进行数据标准化,动态生成XML文档,并通过XSL进行数据转换,以实现灵活且高效的网页呈现。这种技术组合在处理复杂数据和构建可扩展的Web应用程序时具有显著优势。

    java中使用xslt转换xml成为另一个xml

    在Java编程环境中,XML(可扩展标记语言)和XSLT(可扩展样式表语言转换)是处理和转换XML文档的常见工具。XSLT是一种专门用于将XML文档转换为其他XML、HTML或文本格式的语言。本文将详细介绍如何在Java中使用XSLT来...

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

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

    java XSL解析器

    为了更好地实践和学习,你可以尝试创建一个简单的Java程序,读取一个XML文件,应用一个包含基本转换规则的XSL文件,并将结果输出到控制台或文件。通过逐步增强XSLT样式表,你可以逐步掌握更高级的转换技术,如条件...

    java xml编程指南

    Java XML编程指南主要涵盖的是如何在Java环境中处理XML(可扩展标记语言)文档的技术和方法。XML作为一种数据交换和存储格式,广泛应用于不同系统之间的数据交互,如Web服务、配置文件、数据序列化等。本指南将深入...

    xslt+xml+jquery建站

    XSLT(XSL Transformations)是专门用于转换XML文档的样式表语言。通过XSLT,设计人员可以编写模板来控制XML数据如何呈现为HTML或其他格式。这使得设计人员可以在不接触代码的情况下,根据需要自由调整页面布局和...

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

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

Global site tag (gtag.js) - Google Analytics