PHP是不少在Web开发领域奋战的勇士们所选用的武器,因为它是一种很直观的编程语言,有强大的函数,良好的跨平台兼容性,还有它是免费的。从网上的小商店到大型企业的网站都能看到PHP的影子。
PHP有一点特性经常被人们忽视,那就是和XSL stylesheets合作对XML进行解析的能力。下面就让我们来看看怎样在PHP中设置一个XSL解析器以及你该如何使用这一功能。
例子
列表A是一个简单的订单文档,我们会将这个文档输入XSL解析器。同时,列表B中的XSL stylesheet也会被输入XSL解析器。
Listing A: order.xml
Listing B: order.xsl
アカウント
SKU
説明< /th>
価格
数量
小計
gt;
gt;
概要
この例では、主に PHP の 3 つの XSL 関数を使用します。最初に XSL 引数の例を作成し、次に、入力されるすべての文書をこの XSL 引数に処理して返します。その結果、最後に、この XSL 呼び出しがもう必要ない場合は、強制終了されます。
は、作成、処理、強制終了されます。
は、他の XSL を使用しやすいように、新しい XSL プロセスを内部に保存します。関数ではこの XSL プロセスを使用し、PHP はオブジェクトではなく、この XSL プロセスのフレーズを提供します。この XSL ハンドルを構築するコマンドは xslt_create です。関数は、以下に示すように、フレーズを返します。
$handle = xslt_create();
を真に正しく解析し、XSLT が処理できるようにするには、PHP の xslt_process 関数を必ず使用する必要があります。この関数には、別のパラメータを取得する必要があります。
ここでは 1 つのパラメータを使用します。基本的な方法では、xslt_process には 3 つのパラメータが提供されます。最初のパラメータは、私が以前に作成した XSL プロトコルのフレーズです。2 番目のパラメータは、入力された XML ドキュメントのファイル名です。この関数は処理結果を返します。以下に例を示します。
$return = xslt_process($handle, $xmlfile, $xslfile);
最後に使用する関数は xslt_free です。この関数は、内部に保存されている XSL インスタンスを取得し、内部空間を解放するために使用されます。必要なパラメーターは 1 つだけです。つまり、内部に保存されている XSL サンプルの句軸です。例:
xslt_free($handle);
の結合は
の下で私が上のページの個々のコード分割を結合して、PHP によって XSL スタイルシートを介して XML 文を処理する方法を考えています。私は入力 XML 文として列表 A を使用し、私として列表 B を使用しています。们XSL 入力。リスト C はこの例の完全な PHP コードです:
リスト C: order.php
$xmlfile = "order.xml";
$xslfile = "order.xsl";
$args = array("column"=>"数量", "order"=>"降順");
$engine = xslt_create();
$output = xslt_process($engine, $xmlfile, $xslfile, NULL, NULL, $args);
print $output;
xslt_free($engine);
?>
ここで注意が必要ですが、変更はコード内で行われています。 XSL スタイルシートでは、いくつかのパラメータを指定することにより、アドレスなどの領域を変更できます。
この著者の Brian Schaffner は、富士通証券株式会社の副主任です。他は富士通の技術監査公司がフレームワーク、設計、および公開サポートを提供しています。