`
klxwcx
  • 浏览: 31729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java使用XSL+XML生成HTML文件

    博客分类:
  • XML
阅读更多
1、xml.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<book>
    <title>XML与JSP</title>
    <chapter>
        <title>第1章 认识XML与DTD</title>
        <section>
            <title>XML的产生</title>
            <example>HelloWorld.html</example>
        </section>
    </chapter>
    <chapter>
        <title>第2章 XML名称空间</title>
        <section>
            <title>名称空间在元素和属性中的应用</title>
            <section>
                <title>名称空间在元素中的应用</title>
                <example>people.xml</example>
            </section>
            <section>
                <title>缺省名称空间</title>
                <example>book.xml</example>
            </section>
            <section>
                <title>名称空间在属性中的应用</title>
                <example>book2.xml</example>
            </section>
        </section>
        <section>
            <title>名称空间和DTD</title>
        </section>
    </chapter>
</book>

2、xsl.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="utf-8" standalone="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <title>使用XML+XSLT生成的HTML文件</title>
            </head>
            <body>
                <xsl:apply-templates select="book"/>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="chapter">
        <br/>
        <br/>
        <xsl:value-of select="./title"/>
        <xsl:apply-templates select="./section"/>
    </xsl:template>
    <xsl:template match="chapter/section">
        <br/>
        <br/>
        <xsl:text>    </xsl:text>
        <!--<xsl:number format="1. " level="multiple"/>-->
        <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
        <xsl:value-of select="./title"/>
        <xsl:apply-templates select="./section"/>
    </xsl:template>
    <xsl:template match="chapter/section/section">
        <br/>
        <br/>
        <xsl:text>        </xsl:text>
        <!--<xsl:number format="1. " level="multiple"/>-->
        <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
        <xsl:value-of select="./title"/>
        <xsl:number value="123456789" grouping-separator="," grouping-size="3"/>
    </xsl:template>
</xsl:stylesheet>


package test;

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

import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.junit.Test;

public class Train {
     @Test
    public void test() throws IOException {
         String xmlFileName = "d:/test/xml.xml";
         String xslFileName = "d:/test/xsl.xsl";
         String htmlFileName = "d:/test/html.html";
         Train.Transform(xmlFileName, xslFileName, htmlFileName);
     }

    public static void Transform(String xmlFileName, String xslFileName,
             String htmlFileName) {
        try {
             TransformerFactory tFac = TransformerFactory.newInstance();
             Source xslSource = new StreamSource(xslFileName);
             Transformer t = tFac.newTransformer(xslSource);
             File xmlFile = new File(xmlFileName);
             File htmlFile = new File(htmlFileName);
             Source source = new StreamSource(xmlFile);
             Result result = new StreamResult(htmlFile);
             System.out.println(result.toString());
             t.transform(source, result);
         } catch (TransformerConfigurationException e) {
             e.printStackTrace();
         } catch (TransformerException e) {
             e.printStackTrace();
         }
     }
}
4、html.html
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>使用XML+XSLT生成的HTML文件</title>
</head>
<body>
     XML与JSP
    <br>
<br>第1章 认识XML与DTD<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;1.1. XML的产生
    <br>
<br>第2章 XML名称空间<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.1. 名称空间在元素和属性中的应用<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1. 名称空间在元素中的应用123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2. 缺省名称空间123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3. 名称空间在属性中的应用123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.2. 名称空间和DTD
</body>
</html>
分享到:
评论

相关推荐

    javaxml,xsl,html文件转换.pdf

    Java XML、XSL 和 HTML 文件转换技术详解 本文档主要讲解了 Java ...我们可以使用 Java 将 XML 文件转换为 HTML 文件,并使用 XSL 模板来定义转换的规则。在实际应用中,我们可以使用这种技术来实现数据的转换和交换。

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

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

    javaxml,xsl,html文件转换[定义].pdf

    Java XML、XSL、HTML 文件转换...Java XML、XSL、HTML 文件转换技术是软件开发中的一种常见技术,广泛应用于数据交换、文档生成等领域。了解该技术可以帮助开发人员更好地处理 XML 和 XSL 文件,提高开发效率和质量。

    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...

    使用xsl来动态生成java代码

    使用XSL来动态生成Java代码是一项结合了XML和XSL技术的强大功能,旨在自动化地创建或更新基于模板的代码片段。XSL(Extensible Stylesheet Language)是一种用于转换XML文档的语言,它允许开发者将一种XML格式的数据...

    java读取xsl文件,读取文档

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

    java将html文件生成word文件

    本示例主要涉及的是将HTML文件转换为Word文档,具体使用的是Java库——docx4j。这个库提供了强大的功能,可以方便地进行XML、XSL-FO到OpenXML(包括.docx和.xlsx)的转换。下面我们将深入探讨这个过程。 首先,`...

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

    在给定的文件"javaxml,xsl,html文件转换借鉴.pdf"中,主要涉及的是使用Java处理XML和XSL进行文件转换的操作。 首先,让我们深入了解每个组件: 1. **XML**:XML是一种自定义的、可扩展的标记语言,用于存储和传输...

    java 调用 xsl一些案例

    然后,我们可以创建一个`TransformerFactory`实例,加载XSL文件,生成`Transformer`对象,并应用到XML文档上: ```java // 加载XML文档 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); ...

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

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

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

    我们创建了一个ITextRenderer实例,设置HTML文档的URL(这里我们将其保存到临时目录,然后读取),然后调用`setDocument()`方法加载HTML,`layout()`方法进行布局计算,最后使用`createPDF()`方法生成PDF文件。...

    xsl与xml转化的实例

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

    用XSL把XML转化在EXCEL导出

    标题中的“用XSL把XML转化在EXCEL导出”是指使用XSL(Extensible Stylesheet Language)转换技术,将XML(Extensible Markup Language)数据转换成Excel电子表格格式的过程。这种转换通常是为了便于数据分析、报表...

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

    本篇文章将深入探讨如何使用Java生成XML文档以及操作XML文件设置值。 一、Java生成XML文档 1. DOM(Document Object Model):DOM是W3C推荐的一种XML的标准API,它将XML文档解析为一个树形结构,允许我们通过节点...

    用XML和XSL来生成动态页面

    Servlet接收请求,调用EJB来查询数据库,EJB使用JDBC检索数据,然后将数据转换为XML,最后由Servlet调用解析引擎和XSL(可扩展样式表语言)来呈现HTML页面。 XSL是一种模板语言,用于定义XML数据的展现形式。它可以...

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

    总之,SVG结合XML和XSL的动态生成技术,不仅解决了网络图形的诸多挑战,如文件大小、可缩放性、可编辑性和动态效果,还提供了强大的数据驱动图形的能力,开启了网络图形设计的新篇章。随着技术的不断进步,SVG及其...

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

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

Global site tag (gtag.js) - Google Analytics