通过xslt将xml转换为html代码

前端之家收集整理的这篇文章主要介绍了通过xslt将xml转换为html代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

@H_403_3@

@H_403_3@
1)一个xml文件,里面是需要转换的内容 @H_403_3@
2)一个xslt文件,里面是转换的格式 @H_403_3@
3)一个java测试类,通过此类将文件进行转换 @H_403_3@
xml文件和xlst文件以及java代码,@H_403_3@

@H_403_3@
@H_403_3@
xml文件: @H_403_3@
<?xmlversion="1.0"encoding="ISO-8859-1"?> @H_403_3@
<?xml-stylesheettype="text/xsl"href="cdcatalog.xsl"?> @H_403_3@
<catalog> @H_403_3@
<cd> @H_403_3@
<title>EmpireBurlesque</title> @H_403_3@
<artist>BobDylan</artist> @H_403_3@
</cd> @H_403_3@
</catalog> @H_403_3@
xslt文件: @H_403_3@
<?xmlversion="1.0"encoding="ISO-8859-1"?> @H_403_3@
<xsl:stylesheetversion="1.0" @H_403_3@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> @H_403_3@
@H_403_3@
<xsl:templatematch="/"> @H_403_3@
<html> @H_403_3@
<body> @H_403_3@
<h2>MyCDCollection</h2> @H_403_3@
<tableborder="1"> @H_403_3@
<trbgcolor="#9acd32"> @H_403_3@
<th>Title</th> @H_403_3@
<th>Artist</th> @H_403_3@
</tr> @H_403_3@
<xsl:for-eachselect="catalog/cd"> @H_403_3@
<tr> @H_403_3@
<td><xsl:value-ofselect="title"/></td> @H_403_3@
<td><xsl:value-ofselect="artist"/></td> @H_403_3@
</tr> @H_403_3@
</xsl:for-each> @H_403_3@
</table> @H_403_3@
</body> @H_403_3@
</html> @H_403_3@
</xsl:template> @H_403_3@
@H_403_3@
</xsl:stylesheet> @H_403_3@
@H_403_3@ @H_403_3@
java代码: @H_403_3@
packagetest; @H_403_3@
importjavax.xml.transform.*; @H_403_3@
importjavax.xml.transform.stream.*; @H_403_3@
importjava.io.*; @H_403_3@
@H_403_3@

@H_403_3@
publicclassxslt{ @H_403_3@
publicstaticvoidmain(Stringargs[]){ @H_403_3@
//建立transformerFactory对象 @H_403_3@
TransformerFactoryfactory=TransformerFactory.newInstance(); @H_403_3@
//以样式表文件输出建立Transformer对象 @H_403_3@
Transformertransformer=null; @H_403_3@
try{ @H_403_3@
transformer=factory.newTransformer(newStreamSource("cdcatalog.xsl")); @H_403_3@
System.out.print(transformer); @H_403_3@
}catch(TransformerConfigurationExceptione){ @H_403_3@
e.printStackTrace();//tochangebodyofcatchstatementuseFile|Settings|FileTemplates. @H_403_3@
} @H_403_3@
//使用streamsource加载xml文件 @H_403_3@
StreamSourcexmlsource=newStreamSource("cdcatalog.xml"); @H_403_3@
//输出streamResult创建与输出文档html文件的关联 @H_403_3@
StreamResultoutput=null; @H_403_3@
ByteArrayOutputStreambaos=newByteArrayOutputStream(); @H_403_3@
output=newStreamResult(baos); @H_403_3@
//调用transformer对那个transform方法生成html文件 @H_403_3@
//转xml文档 @H_403_3@
try{ @H_403_3@
transformer.transform(xmlsource,output); @H_403_3@
Stringstr=baos.toString(); @H_403_3@
System.out.println(str); @H_403_3@
@H_403_3@
}catch(TransformerExceptione){ @H_403_3@
e.printStackTrace();//tochangebodyofcatchstatementuseFile|Settings|FileTemplates. @H_403_3@
} @H_403_3@
} @H_403_3@
} @H_403_3@

猜你在找的XML相关文章