人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

php&java(3)

php&java(3)

更新時間:2022-07-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_html.xsl";
$out = xslt_transform($xml,$xsl);
echo $out;

?>

如果你在本地機上運行程序,必須確保你的函數參數指向正確的文件名。

<?php

$xml  = "/web/htdocs/xml_java/rss_feed.xml";
$xsl  = "/web/htdocs/xml_java/rss_html.xsl";
$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

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 扬中市| 霞浦县| 应用必备| 黎城县| 怀柔区| 沂水县| 江油市| 无极县| 奎屯市| 忻州市| 台江县| 广德县| 内丘县| 宝鸡市| 旺苍县| 屯留县| 图片| 北碚区| 巴彦县| 三原县| 和林格尔县| 天柱县| 黄大仙区| 修武县| 玉林市| 海淀区| 呼和浩特市| 宜城市| 津市市| 沙洋县| 武宁县| 沂源县| 资源县| 日土县| 连南| 堆龙德庆县| 大渡口区| 星子县| 延长县| 偃师市| 教育|