これが私の問題です。XSLTProcessorを使用してxmlをhtmlに変換しようとしています。その使用法についてはすでに読みましたが、次の問題があります。transformToXML(xml_file)関数では、xml_fileが実際のxmlファイルである必要があります。transformToXML関数でファイルの代わりに文字列を使用することは可能ですか?私はこれをオンラインで検索しようとしましたが、私が得るのは、xmlファイルを使用してすでに見たものだけです。この変換を大規模に使用する必要があるため(多くのユーザーにとっては多数の異なる変換)、サーバー上のファイルを使用できません。これが私のコードですので、より良い画像を得ることができるかもしれません:
$productxml= GetShoppingItem($params);
$file = 'ProductQr.xml';
file_put_contents($file, $productxml);
$xml = new DOMDocument();
$xml->load('ProductQr.xml');
$XSL = new DOMDocument();
$XSL->load('XSLTForProduct.xsl');
$xslt = new XSLTProcessor();
$xslt->importStylesheet($XSL);
$html = $xslt->transformToXML( $xml );
return $html;
ご覧のとおり、ここで$ productxml文字列を取得してProductQr.xmlに書き込んでいるので、後でここで使用できます:transformToXML($ xml)。しかし、多くの変換があり、さまざまな製品がたくさんあるため、1つのxmlファイルを使用することはできません。理想的には以下を使用します:
$html = $xslt->transformToXML($productxml);
xmlファイルに書き込むことなく、transformToXMLには文字列ではなくファイルが必要です。何かご意見は?