ホームページ  >  記事  >  バックエンド開発  >  PHP および XSL スタイルシートを使用して XML ドキュメントを変換する_PHP チュートリアル

PHP および XSL スタイルシートを使用して XML ドキュメントを変換する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 16:08:04833ブラウズ

PHP是不少在Web开发领域奋战的勇士们所选用的武器,因为它是一种很直观的编程语言,有强大的函数,良好的跨平台兼容性,还有它是免费的。从网上的小商店到大型企业的网站都能看到PHP的影子。

 
PHP有一点特性经常被人们忽视,那就是和XSL stylesheets合作对XML进行解析的能力。下面就让我们来看看怎样在PHP中设置一个XSL解析器以及你该如何使用这一功能。


例子
列表A是一个简单的订单文档,我们会将这个文档输入XSL解析器。同时,列表B中的XSL stylesheet也会被输入XSL解析器。

Listing A: order.xml



  9900234
 
    1234
    5.95
    100
    595.00
    Super Widget Clamp
 

 
    6234
    22.00
    10
    220.00
    Mighty Foobar Flange
 

 
    9982
    2.50
    1000
    2500.00
    Deluxe Doohickie
 

 
    3256
    389.00
    1
    389.00
    Muckalucket Bucket
 

  1111
  3704.00
  07/07/2002
  8876

Listing B: order.xsl



 
 
 
   
     
       
         
         
       

     
   
 









< th>価格
< th>数量





アカウント SKU 説明 小計










   
概要
この例では、主に PHP の 3 つの XSL 関数を使用します。最初に XSL 引数の例を作成し、次に、入力されるすべてのテキストをこの XSL 引数に入れて処理し、結果を返します。他の XSL 関数でこの XSL プロセスを使用できるように、PHP は私たちに XSL プロセスを新しく作成し、内部保存します。提供するこの XSL ハンドルを構築するコマンドは、xslt_create です。関数は、以下に示すように、句パターンを返します。

XML 文書を真に解析し、XSLT が処理できるようにするには、PHP の xslt_process 関数を使用する必要があります。この関数には、別のパラメータを取得する必要があります。ここでは、xslt_process が提供する 3 つの基本的なメソッドを使用します。最初のパラメータは、私たちが以前に作成した XSL 引数のパケットです。 2 番目のパラメータは、入力された XML ドキュメントのファイル名です。 3 番目のパラメータは、入力された XSL ドキュメントのファイル名です。処理結果。以下は例です:


$return = xslt_process($handle, $xmlfile, $xslfile);

最後に使用する関数は xslt_free です。この関数は、内部に保存されている XSL インスタンスの句文を取得し、内部に保存されている空間を解放するために使用されます。

xslt_free($handle);

を組み合わせて実現

次は、上のページの個々のコード分割を使って、PHP によって XSL スタイルシートを処理する方法を説明します。私は入力 XML 文として列表 A を使用し、XSL 入力として列表 B を使用します。列表Cがその例です。完全な PHP 代コード:

リスト C: order.php

$xmlfile = "order.xml";

$xslfile = "order.xsl";

$args = array("column"=>) ;"数量", "順序"=>"降順");

$engine = xslt_create();

$output = xslt_process($engine, $xmlfile, $xslfile, NULL, NULL, $args);

print $出力;

xslt_free($engine);

?> XSL スタイルシートでは、いくつかのパラメータを指定することによって、たとえばフィールドなどの領域を変更できます。私たちは、PHP の数値グループを使用して、自分のパラメータに名前を保存し、その後、xslt_process 関数によって名前を XSL ドライバーに渡します。构、設計と公開。サポート



www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/314936.html技術記事 PHP は、非常に直観的なプログラミング言語であり、強力な機能を持ち、優れたクロスプラットフォーム互換性を持ち、しかも無料であるため、Web 開発の分野で戦う多くの戦士にとって最適な武器です...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。