php&java(三)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-24
例子二:通过Xalan 1.2,使用XSLT转换XML 做为第二个例子,我们使用了Xalan-java的XSLT引擎,这个引擎来自于APACHE的XML项目,使用这个程序,我们能够使用XSL转换XML源文件。这将极大的方便我们处理文档和进行内容管理。 开始之前,我们需要将xerces.jar 和 xalan.jar文件放入java.class.path目录下(这两个文件包含在Xalan-Java 1.2 中,可以从xml.apache.org处下载)。 PHP程序如下: 函数xslt_transform()以XML和XSL文件为参数,形式可为文件名(如:foo.xml)或URL(如:http://localhost/foo.xml)。 <?php function xslt_transform($xml,$xsl) { // Create a XSLTProcessorFactory object. XSLTProcessorfactory is a Java // class which manufactures the processor for performing transformations. $XSLTProcessorFactory = new java("org.apache.xalan.xslt.XSLTProcessorFactory"); // Use the XSLTProcessorFactory method getProcessor() to create a // new XSLTProcessor object. $XSLTProcessor = $XSLTProcessorFactory->getProcessor(); // Use XSLTInputSource objects to provide input to the XSLTProcessor // process() method for transformation. Create objects for both the // xml source as well as the XSL input source. Parameter of // XSLTInputSource is (in this case) a ''system identifier'' (URI) which // can be an URL or filename. If the system identifier is an URL, it // must be fully resolved. $xmlID = new java("org.apache.xalan.xslt.XSLTInputSource", $xml); $stylesheetID = new java("org.apache.xalan.xslt.XSLTInputSource", $xsl); // Create a stringWriter object for the output. $stringWriter = new java("java.io.StringWriter"); // Create a ResultTarget object for the output with the XSLTResultTarget // class. Parameter of XSLTResultTarget is (in this case) a ''character // stream'', which is the stringWriter object. $resultTarget = new java("org.apache.xalan.xslt.XSLTResultTarget", $stringWriter); // Process input with the XSLTProcessors'' method process(). This // method uses the XSL stylesheet to transform the XML input, placing // the result in the result target. $XSLTProcessor->process($xmlID,$stylesheetID,$resultTarget); // Use the stringWriters'' method toString() to // return the buffer''s current value as a string to get the // transformed result. $result = $stringWriter->toString(); $stringWriter->close(); return($result); } ?> 函数定义好后,我们就可以调用它了,在下面的例程中,变量$xml指向一个URL字符串,$xsl也是如此。这个例子将显示5个最新的phpbuilder.com文章标题。 <?php $xml = "http://www.phpbuilder.com/rss_feed.php?type=articles&limit=5"; $xsl = "http://www.soeterbroek.com/code/xml/rss_htm |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: php的控制语句下一篇: PHP学习之PHP变量
关于php&java(三)的所有评论