做為第二個(gè)例子,我們使用了Xalan-java的XSLT引擎,這個(gè)引擎來自于APACHE的XML項(xiàng)目,使用這個(gè)程序,我們能夠使用XSL轉(zhuǎn)換XML源文件。這將極大的方便我們處理文檔和進(jìn)行內(nèi)容管理。

開 " /> 在线观看免费国产视频,亚洲视频精品在线,自拍三区

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php&java(三)

例子二:通過Xalan 1.2,使用XSLT轉(zhuǎn)換XML

做為第二個(gè)例子,我們使用了Xalan-Java的XSLT引擎,這個(gè)引擎來自于APACHE的XML項(xiàng)目,使用這個(gè)程序,我們能夠使用XSL轉(zhuǎn)換XML源文件。這將極大的方便我們處理文檔和進(jìn)行內(nèi)容管理。

開始之前,我們需要將xerces.jar 和 xalan.jar文件放入Java.class.path目錄下(這兩個(gè)文件包含在Xalan-Java 1.2 中,可以從xml.apache.org處下載)。
php程序如下:
函數(shù)xslt_transform()以XML和XSL文件為參數(shù),形式可為文件名(如: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);
}

?>

函數(shù)定義好后,我們就可以調(diào)用它了,在下面的例程中,變量$xml指向一個(gè)URL字符串,$xsl也是如此。這個(gè)例子將顯示5個(gè)最新的phpbuilder.com文章標(biāo)題。

<?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;

?>

如果你在本地機(jī)上運(yùn)行程序,必須確保你的函數(shù)參數(shù)指向正確的文件名。

<?php

$xml  = "/web/htdocs/xml_Java/rss_feed.xml";
$xsl  = "/web/htdocs/xml_Java/rss_html.xsl";
$out = xslt_transform($xml,$xsl);
echo $out;

?>

雖然這種效果我們可以通過其它方法實(shí)現(xiàn),或許那些方法更好,但這個(gè)例子能讓你對(duì)php調(diào)用Java類有一個(gè)更好的了解。

教程結(jié)束了,希望你能夠從這篇教程中學(xué)到點(diǎn)東西,以下是一些你用得到的鏈接:
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

php技術(shù)php&amp;amp;java(三),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女上厕所| 王渝萱的电影| 崔在焕| la ciociara| 威利| 孤战迷城电视剧剧情介绍| land of the lost| 巩俐吻戏| 就爱小姐姐| 陈剑月| 女王的条件| 色黄视频免费观看| 抖音| 摇曳庄的幽奈小姐| 八年级上册英语课文| 情侣不雅视频| 川子| 河南卫视直播| 局中局演员表| 青山处处埋忠骨课文| 韩国一个好妈妈| 秀场视频高清完整版| 小小春| 唐安| 美丽的坏女人中文字幕| 龟兔赛跑的故事视频| 开心鬼救开心鬼| 尸家重地演员表| 男生女生向前冲第六季2014| 肚子上拨罐能减肥吗| 大槻响作品| 春天的芭蕾歌词| 变性手术男变女能怀孕吗| 学生会长的忠告| 即便如此我依然爱着我的老婆| 花宵道中1| 长谷川未来| 金珉奎怎么读| 尸语者 电视剧| 香水有毒微电影无删减完整版 | 任港秀|