利用XML和XSL转换HTML

本文展示了一个使用Java将XML数据通过XSLT转换为HTML格式的实例。具体包括创建DOM解析器读取XML字符串,利用TransformerFactory进行样式表转换,并最终输出HTML内容。
static public void main(String args[]) throws SAXException, IOException,
TransformerException {
TransformerFactory _transFactory;
String xmlData = "<?xml version='1.0' encoding='GB2312'?>"
+ " <document>" + " <resume>" + " <skill>WEB开发</skill>"
+ " </resume>" + " </document>";
_transFactory = TransformerFactory.newInstance();
DOMParser parser = new DOMParser();
parser.parse(new InputSource(new StringReader(xmlData)));
Document document = parser.getDocument();

StreamSource stylesource = new StreamSource(new FileInputStream(
new File("d:\\test\\test003.xsl")));

Transformer transformer = null;
transformer = _transFactory.newTransformer(stylesource);

DOMSource source = new DOMSource(document);
StringWriter sb = new StringWriter();
StreamResult result = new StreamResult(sb);
transformer.transform(source, result);
System.out.println(sb.toString());
}

test003.xsl
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>成绩单</TITLE>
</HEAD>
<BODY>
<TABLE border="1" cellspacing="0">
<tr><TH>姓名</TH></tr>
<xsl:apply-templates select="document/resume" />
</TABLE>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="resume">
<xsl:for-each select="skill">
<TR>
<TD><xsl:value-of select="."/></TD>
</TR>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值