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

Title Artist country company price year

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();

}

}

}

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

  1. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

  2. Java基础学习笔记(二)_Java核心技术(进阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(进阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  3. java jvm学习笔记二(类装载器的体系结构)

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao                  在了解java虚拟机的类装载器之前,有一个概念我们是必须先知道的,就是java的沙箱, ...

  4. java 怎么判别注释符_java学习笔记二(注释、关键字、标识符)

    了解一下几个概念:注释.关键字.标识符. 然后记住java主程序的基本结构,再通过编写hello world案例来进一步了解java程序. 1.注释 如果程序中代码太多时,方便我们查看代码,所以就要给 ...

  5. java 模块设计模式_Java9模块化学习笔记二之模块设计模式

    模块设计的原则: 1.防止出现编译时循环依赖(主要是编译器不支持),但运行时是允许循环依赖的,比如GUI应用 2.明确模块的边界 几种模块设计: API模块,聚合模块(比如java.base) 可选依 ...

  6. java文件传输连接方式_Java 学习笔记 网络编程 使用Socket传输文件 CS模式

    Socket的简单认识 Socket是一种面向连接的通信协议,Socket应用程序是一种C/S(Client端/Server端)结构的应用程序 Socket是两台机器间通信的端点. Socket是连接 ...

  7. 网易云课堂微专业--Java高级开发工程师--多线程并发编程--学习笔记(二)

    文章目录 第一章 多线程并发编程 第二节 线程安全问题 1.2.1 线程安全之可见性问题 多线程中的问题 从内存结构到内存模型 工作内存缓存 指令重排序 内存模型的含义 Shared Variable ...

  8. JAVA学习笔记(二十)- 集合 List

    ArrayList 集合 /** ArrayList,实现List接口* 声明数组时必须指定数组中元素的类型,可以是基本数据类型,也可以是引用数据类型* 声明集合时可以不指定其元素的类型,元素类型默认 ...

  9. JAVA 学习笔记 (二)

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...

最新文章

  1. 通过ezjail创建和管理jail虚拟机
  2. python生成回文数
  3. Matplotlib绘图库初探
  4. SAP Commerce Cloud启动时遇到的9001端口被占用的问题
  5. 导入导出oracle数据库表的dmp文件
  6. 基于Redis实现分布式锁实战
  7. 使用U盘在Windows与Mac上传输数据
  8. Python 面向对象程序设计(一)
  9. vim 寄存器 操作_说实话,Intellij IDEA 自带的 Vim 插件真心不错。。。
  10. jspstudy启动mysql失败_mysql服务启动失败解决方案
  11. 学计算机的数学一定要好吗,学计算机一定要数学好吗?
  12. 项目里 基于solr搜索服务的认识
  13. 一个劣质24V电源引发的悲剧:主板南桥烧了
  14. 618投影仪怎么选?看看极米NEW Z6X、极米Z6X Pro与极米H3S
  15. 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.2】
  16. 涵数计算机怎么玩游戏,科学计算器
  17. LSP协议被劫持导致不能上网
  18. wms仓储管理绩效评价指标的制定
  19. Linux磁盘管理:磁盘分区的分配和格式化磁盘
  20. 分享一个电气仿真软件

热门文章

  1. php 查看引入文件,include - 引入文件
  2. kaggle房价预测特征意思_Kaggle之预测房价
  3. lc滤波电路电感电容值选择_电感器变压器选型与应用
  4. android自动播放mp3,audio标签移动端(微信)实现自动播放
  5. mysql基础,DISTINCT关键字
  6. java List 数组删除元素
  7. p1218 Superprime Rib
  8. [golang note] 工程组织
  9. DataGrid多层表头设计
  10. linux内核剪裁 4412,itop4412开发板-Linux内核的编译