`
lanqiaoyeyu
  • 浏览: 25090 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java 将XML和XSL转换成HTML

    博客分类:
  • Java
 
阅读更多
将test.xml和test.xsl文件转成test.html
package bill.com;

import java.io.File;

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;

public class XML2HTML {

	/**
	 * @param args
	 */
	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();
        }
    }

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String xmlFileName = "C:\\Bill\\temp\\convert2HTML\\test.xml";
        String xslFileName = "C:\\Bill\\temp\\convert2HTML\\xsl.xsl";
        String htmlFileName = "C:\\Bill\\temp\\convert2HTML\\html.html";
        Transform(xmlFileName, xslFileName, htmlFileName);

	}

}



test.xml

<?xml version="1.0" encoding="utf-8"?>
<!--<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>-->
<book>
    <title>XML and JSP</title>
    <chapter>
        <title>XMLDTD</title>
        <section>
            <title>XML</title>
            <example>HelloWorld.html</example>
        </section>
    </chapter>
    <chapter>
        <title>2 XML</title>
        <section>
            <title>ada</title>
            <section>
                <title>adas</title>
                <example>people.xml</example>
            </section>
            <section>
                <title>ad</title>
                <example>book.xml</example>
            </section>
            <section>
                <title>adsas</title>
                <example>book2.xml</example>
            </section>
        </section>
        <section>
            <title>asddsd</title>
        </section>
    </chapter>
</book>



test.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html>
            <head>
                <title>Use XML+XSL change to HTML file</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>

分享到:
评论
1 楼 wuhenjia 2017-04-25  
楼主,你好,在使用上述方式转为html时发现部分丢失,且拍好的序被打乱,不知是何故?

相关推荐

    javaxml,xsl,html文件转换.pdf

    Java XML、XSL 和 HTML 文件转换技术详解 本文档主要讲解了 Java 中的 XML、XSL 和 HTML 文件转换技术。通过对 Java 代码的分析,我们可以了解到如何将 XML 文件转换为 HTML 文件,并了解到 XSL 模板的应用。 首先...

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

    Java XML、XSL、HTML 文件转换是软件开发中的一种常见技术,主要用于将 XML 文件转换为 HTML 文件或其他格式的文件。下面将对该技术进行详细介绍。 XML 文件是什么? XML(Extensible Markup Language)是一种...

    如何在Java中将XML文档转换成HTML文档.pdf

    ### 如何在Java中将XML文档转换成HTML文档 #### 核心知识点解析: ##### XML与HTML转换背景 XML(eXtensible Markup Language)和HTML(HyperText Markup Language)虽然都属于标记语言,但各自的功能和应用领域...

    xml根据xsl转换

    在开发中,当需要根据预定义的样式规则呈现XML数据时,就会用到XSL转换。XSLT(XSL Transformations)是实现这一转换的具体语言,它是XSL的一部分,用于编写转换规则。通过XSLT,我们可以定义一系列的模板和规则,将...

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

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

    xml和xsl生成html页面

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

    xsl与xml转化的实例

    而XSL则是一种转换XML文档的样式表语言,用于将XML数据转换成其他形式,如HTML、PDF或另一种XML结构,以适应不同的显示需求。 在Web开发中,XML和XSL的结合使用对于数据交换、内容重用和跨平台兼容性至关重要。下面...

    xml与xsl的小实例

    1.xml文件很可能是包含结构化数据的XML文档,而1.xsl文件则是定义了如何将XML数据转换和展示的样式表。通过XSLT,1.xsl会根据其规则对1.xml进行解析,生成一个新的结构或样式,这可能是用于网页展示的HTML。 XSLT的...

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

    "XML+xsl讲XML文档的内容用xsl建表"的主题意味着我们将学习如何使用XSLT将XML文档的内容转换成表格形式。这通常涉及到以下步骤: 1. **理解XML结构**:首先,需要熟悉XML文档的结构和元素关系,以便确定如何在表格...

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

    XSLT(XSL转换)允许我们定义一套规则,将XML数据转换成其他格式,如HTML、PDF或新的XML文档。以下是一个简单的XSL转换示例,将XML数据转换为HTML表格: ```xsl &lt;xsl:stylesheet version="1.0" xmlns:xsl=...

    xsl转化为html的示例代码和文件

    当我们需要将XML数据展示在浏览器中时,XSLT(XSL Transformation)就成为了一个重要的工具,它允许我们将XML数据转换成HTML格式,以便于在网页上呈现。以下是对“xsl转化为html”的详细解释以及示例代码。 XSLT是...

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

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

    xml xsl网页生成

    - **XSLT(XSL转换)**:XSL的主要部分,用于将XML转换成其他格式,如HTML、PDF等。 - **XSL样式表**:包含一系列模板规则,当匹配到XML文档中的特定元素时,应用这些规则进行转换。 - **模板**:定义了如何处理...

    用XML和XSL来生成动态页面

    在动态页面生成过程中,XSLT(XSL转换)扮演了关键角色,它将XML数据按照预定义的样式转换成浏览器可以理解的HTML格式,从而实现了动态内容的呈现。 总的来说,XML和XSL的组合提供了一种强大且灵活的方法,用于生成...

    Java and XML(英文第三版)_java_xml_birdsolc_源码

    6. **XSLT(XSL Transformations)**:XSLT用于将XML文档转换为其他XML文档,或者HTML、文本等格式,实现XML数据的样式化显示。 7. **SOAP(Simple Object Access Protocol)**:SOAP是基于XML的网络协议,常用于...

    用xml 和 xsl 实现二维报表

    总结起来,XML和XSL是实现二维报表的强大工具,它们允许我们高效地存储结构化数据,并通过XSLT将这些数据转换为直观、可定制的报表,尤其适用于Web环境。通过学习和熟练掌握这两项技术,开发者能够构建出灵活且易于...

    利用xml和xsl自动生成菜单

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

Global site tag (gtag.js) - Google Analytics