这是我的问题:我正在尝试使用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)。但是会有很多转换,我不能使用一个xml文件,因为有很多不同的产品。理想情况下我会使用:
$html = $xslt->transformToXML($productxml);
没有写入xml文件,但transformToXML需要一个文件而不是字符串。有什么想法吗?
答案 0 :(得分:3)
您可以使用loadXML
代替load
来解析字符串中的XML。