java xml html_使用Java将XSL和XML文件输出为HTML(XSL学习笔记二)

XSL 指扩展样式表语言(EXtensible Stylesheet Language),前面一篇博客介绍了使用XSL即可直接将XML输出为HTML片段被浏览器解析,但是这样在web应用中浏览器的解析量就比较大,会显得响应很慢,Java API提供了可以将XSL和XML文件直接解析为HTML文件的工具,这样可以后台解析,服务器端生成HTML传送至前台,提高响应体验。

创建一个XML文件

Empire Burlesque

Bob Dylan

USA

Columbia

10.90

1985

Hide your heart

Bonnie Tyler

UK

CBS Records

9.90

1988

Greatest Hits

Dolly Parton

USA

RCA

9.90

1982

Still got the blues

Gary Moore

UK

Virgin records

10.20

1990

Eros

Eros Ramazzotti

EU

BMG

9.90

1997

One night only

Bee Gees

UK

Polydor

10.90

1998

Sylvias Mother

Dr.Hook

UK

CBS

8.10

1973

Maggie May

Rod Stewart

UK

Pickwick

8.50

1990

Romanza

Andrea Bocelli

EU

Polydor

10.80

1996

When a man loves a woman

Percy Sledge

USA

Atlantic

8.70

1987

Black angel

Savage Rose

EU

Mega

10.90

1995

1999 Grammy Nominees

Many

USA

Grammy

10.20

1999

For the good times

Kenny Rogers

UK

Mucik Master

8.70

1995

Big Willie style

Will Smith

USA

Columbia

9.90

1997

Tupelo Honey

Van Morrison

UK

Polydor

8.20

1971

Soulsville

Jorn Hoel

Norway

WEA

7.90

1996

The very best of

Cat Stevens

UK

Island

8.90

1990

Stop

Sam Brown

UK

A and M

8.90

1988

Bridge of Spies

T`Pau

UK

Siren

7.90

1987

Private Dancer

Tina Turner

UK

Capitol

8.90

1983

Midt om natten

Kim Larsen

EU

Medley

7.80

1983

Pavarotti Gala Concert

Luciano Pavarotti

UK

DECCA

9.90

1991

The dock of the bay

Otis Redding

USA

Atlantic

7.90

1987

Picture book

Simply Red

EU

Elektra

7.20

1985

Red

The Communards

UK

London

7.80

1987

Unchain my heart

Joe Cocker

USA

EMI

8.20

1987

创建一个XSL文件

XML2HTML

My CD Collection

TitleArtistcountrycompanypriceyear

Java解析输出HTML

JDK开始提供了javax.xml.transform.*这样一个xml解析的包,非常方便。

package test;

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;

/**

* The type Xml 2 html.

*/

public class XMLXSL2HTML {

public static void main(String[] args) {

String xmlFilePath = "src/test/test.xml";

String xslFilePath = "src/test/test.xsl";

String HtmlFileOutPath = "src/test/test.html";

transXML2HTML(xmlFilePath,xslFilePath,HtmlFileOutPath);

}

/**

* Trans xml to html.

*

* @param xmlFilePath the xml file path

* @param xslFilePath the xsl file path

* @param HtmlFileOutPath the html file out path

*/

public static void transXML2HTML(String xmlFilePath,String xslFilePath,String HtmlFileOutPath) {

try {

TransformerFactory transformerFactory = TransformerFactory.newInstance();

Source xslSource = new StreamSource(xslFilePath);

Transformer transformer = transformerFactory.newTransformer(xslSource);

File xmlFile = new File(xmlFilePath);

File htmlFile = new File(HtmlFileOutPath);

Source source = new StreamSource(xmlFile);

Result result = new StreamResult(htmlFile);

transformer.transform(source, result);

System.out.println("文件输出完成:"+htmlFile.getAbsolutePath());

} catch (TransformerConfigurationException e) {

e.printStackTrace();

} catch (TransformerException e) {

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值