当编写好xslt文件后,就可以把xml转换成其他格式了,这种转换可以通过程序来完成。
通常有两种方式进行转换,一种是用Xalan Java XSLT处理器,另一种是用JAXP实施转换。
1。Xalan Java XSLT处理器
将game.xml按照game.xsl的格式转换成game.html
import
org.apache.xalan.xslt.
*
;
XLSTProcessor processor = XLSTProcessorFactory.getProcessor();
processor.process( new XSLTInputSource( " game.xml " ),
new XSLTInputSource( " game.xsl " ),
new XSLTResultTarget( " game.html " ));
其中的第一个参数也可以为document对象
XLSTProcessor processor = XLSTProcessorFactory.getProcessor();
processor.process( new XSLTInputSource( " game.xml " ),
new XSLTInputSource( " game.xsl " ),
new XSLTResultTarget( " game.html " ));
其中的第一个参数也可以为document对象
如果需要向xsl文件中传递参数,
比如<xsl:param name="greeting">
可以这样设置:
processor.setStylesheetParam("greeting","'Hello Mike'");
2。用JAXP实施转换
import javax
.
xml
.
transformer
.
*
TransformerFactory factory = TransformerFactory . newInstance ();
StreamSource stylesheet = new StreamSource ( " game.xsl " );
StreamSource xmlDoc = new StreamSource ( " game.xml " );
StreamResult result = new StreamResult ( " game.html " );
Transformer transformer = factory . newTransformer ( stylesheet );
transformer . transform ( xmlDoc , result );
其中,styletsheet可以为document
DOMSource stylesheet = new DOMSource ( Document )
TransformerFactory factory = TransformerFactory . newInstance ();
StreamSource stylesheet = new StreamSource ( " game.xsl " );
StreamSource xmlDoc = new StreamSource ( " game.xml " );
StreamResult result = new StreamResult ( " game.html " );
Transformer transformer = factory . newTransformer ( stylesheet );
transformer . transform ( xmlDoc , result );
其中,styletsheet可以为document
DOMSource stylesheet = new DOMSource ( Document )