次のコードを使用して、XML を別の XML ファイルに変換しました。しかし、XSLT を使用して一連の文字列から新しい XML ファイルを作成しようとしています。
$xsl = simplexml_load_file('template.xsl');
$xslt = new XSLTProcessor;
$xslt->setParameter('', 'foo', $foo);
$xslt->setParameter('', 'bar', $bar);
$xslt->setParameter('', 'test', $test);
$xslt->importStyleSheet($xsl);
$data = $xslt->transformToXML($xml);
だから私がやっていることはtemplate.xsl
、ノードを作成するパラメーターを渡すことであり、結果の出力がに渡され$data
、PHP がファイルに書き込みます。
しかし、私が持っているサンプル コードでは、XML ファイルが最初に読み取られ、変数に保存されると想定しています$xml
。ただし、データの文字列を生成しているため、XML ファイルを読み取っていません。これにより警告が生成されます。
PHP 警告: XSLTProcessor::transformToXml() は、パラメーター 1 がオブジェクトであると想定しています。
PHP を使用して XML を記述できることを認識しています - http://www.developerfusion.com/code/3944/how-to-create-xml-files/ - しかし、XSLT でこれを行う方法を知りたいです。