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>
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>
本文展示了一个使用Java将XML数据通过XSLT转换为HTML格式的实例。具体包括创建DOM解析器读取XML字符串,利用TransformerFactory进行样式表转换,并最终输出HTML内容。
693

被折叠的 条评论
为什么被折叠?



