首頁 > 後端開發 > php教程 > php&java(三)_PHP教程

php&java(三)_PHP教程

WBOY
發布: 2016-07-21 16:04:37
原創
776 人瀏覽過

例子二:透過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)。


function xslt_transform($xml,$xsl) {

  // Create a XSLTProcessorFactory object。 the processor for performing transformations.
  $XSLTProcessorFactory = new java("org.apache.xalan.xslt.XSLTProcessorFactory");

 / new XSLTProcessor object.
  $XSLTProcessor = $XSLTProcessorFactory->getProcessor();

  // Use XSLTInputSource s for both the
  // xml source as well as the XSL input source. Parameter of
  // XSLTInputSource is (in this case) a 'system identifier' (URI) which
或 filename. If the system identifier is an URL, it
  // must be fully resolved.
  $xmlID = new java("org.apache.xalan.xslt.XSLTInputSource", $kInputSource", $xml
  // Create a stringWriter object for the output.
  io.StringWriter");

  // Create a ResultTarget object for the output with the XSLTResultTarget
  // class. Parameter of XSLTResultTarget is (in this case) a ' , which is the stringWriter object.  
  $resultTarget = new java("org.apache.xalan.xslt.XSLTResultTarget", $stringWriter);
. This
  // method uses the XSL stylesheet to transform the XML input, placing
  // the result in the result target.
  $XSLTProcessor->process($ID,$,$,$0,$$);

  // Use the stringWriters' method toString() to
  // return the buffer's current value as a string to get the
o >toString();
  $stringWriter->close();
  return($result);
}

?>

函數定義好後,我們就定義好後,我們就定義好後,我們就定義好後,我們就定義好後,我們就定義好後,我們定義好可以呼叫它了,在下面的例程中,變數$xml指向一個URL字串,$xsl也是如此。這個範例將顯示5個最新的phpbuilder.com文章標題。


$xml = "http://www.phpbuilder.com/rss_feed.php?type=articles&limit=5";
$xsl = "http:/ /www.soeterbroek.com/code/xml/rss_html.xsl";
$out = xslt_transform($xml,$xsl);
echo $out;

?>

如果你在本機上執行程序,必須確保你的函數參數指向正確的檔案名稱。


$xml  = "/web/htdocs/xml_java/rss_feed.xml";
$xsl  = "/web/htdocs/xml_xml/rss_html.java/rss_html.javasl";
$out = xslt_transform($xml,$xsl);
echo $out;

?>

雖然這種效果我們可以透過其它方法實現,或許那些方法更好,但這個例子能讓你對PHP呼叫JAVA類別有更好的了解。

教學結束了,希望你能夠從這篇教學中學到點東西,以下是一些你用得到的連結:
http://www.php4win.de ~ A great Win32 distribution of PHP
http://www.javasoft.com ~ Sun's Java release
http://www.jars.com ~ Start searching for handy Java classes
http://www.gamelan.com ~ More Java classes
http://www.technetcast.com/tnc_play_stream.html?stream_id=400 ~ Sam Ruby about PHP and Java integration at Open Source Convention 2000 (audio)
http://xml.apache.org ~ Apache XML Project
http://www.phpbuilder.com/columns/justin20001025.php3 ~ Transforming XML with XSL using Sablotron

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/315894.htmlTechArticle範例二:透過Xalan 1.2,使用XSLT轉換XML 做為第二個例子,我們使用了Xalan-java的XSLT引擎,這個引擎來自於APACHE的XML項目,使用這個程序,我們...

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板