php&java (3)

WBOY
リリース: 2016-06-21 09:15:12
オリジナル
856 人が閲覧しました

例 2: XSLT を使用してドキュメント経由で XML を変換します。これにより、文書処理とコンテンツ管理が大幅に容易になります。

始める前に、xerces.jar ファイルと xalan.jar ファイルを java.class.path ディレクトリに置く必要があります (これら 2 つのファイルは Xalan-Java 1.2 に含まれており、xml.apache.org からダウンロードできます)。
PHP プログラムは次のとおりです:
関数 xslt_transform() は XML および XSL ファイルをパラメーターとして受け取り、形式はファイル名 (foo.xml など) または URL (http://localhost など) にすることができます。 /foo.xml)。


function xslt_transform($xml,$xsl) {

// XSLTProcessorFactory オブジェクトを作成します。 "org.apache.xalan.xslt.XSLTProcessorFactory"); // XSLTProcessorFactory メソッド getProcessor( )
// 新しい XSLTProcessor オブジェクトを作成します。
$XSLTProcessor = $XSLTProcessorFactory->getProcessor();

// XSLTInputSource オブジェクトを使用して XSLTProcessor に入力を提供します
// 変換用のオブジェクトを作成します。
// XML ソースと XSL 入力ソースの両方。
// XSLTInputSource のパラメーターは (この場合) 'システム識別子' (URI) です。
// システム識別子の場合は、URL またはファイル名を指定できます。は URL です。
// 完全に解決される必要があります。
$xmlID = new java("org.apache.xalan. xslt. ("java.io.StringWriter");

// 出力用の ResultTarget オブジェクトを作成します。 XSLTResultTarget
// クラスを使用します。 XSLTResultTarget のパラメーターは (この場合) 'character
// ストリーム'、つまり stringWriter オブジェクトです
$resultTarget = new java("org.apache.xalan.xslt.XSLTResultTarget") , $stringWriter);

// XSLTProcessors のメソッド process() で入力を処理します。 この
// メソッドは、XML 入力を変換し、
// 結果を結果ターゲットに配置します。 >process($xmlID,$stylesheetID,$resultTarget);

// stringWriters のメソッド toString() を使用して
// バッファの現在の値を文字列として返し、
// 変換された結果を取得します。 = $stringWriter->toString();
$stringWriter->close();
}

?> 以下のように関数を呼び出すことができます。ルーチンでは、変数 $xml は $xsl と同様に URL 文字列を指します。この例では、phpbuilder.com の最新の記事タイトル 5 件が表示されます。


$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_java/rss_html.xsl"; $xsl);
echo $out;

?>

この効果は他のメソッドでも実現できますが、おそらくそれらのメソッドの方が優れていますが、この例は PHP による JAVA クラスの呼び出しをより深く理解するのに役立ちます。








関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート