XSLTProcessor从字符串而不是文档转换为xml

时间:2013-02-01 11:53:38

标签: php xslt

这是我的问题:我正在尝试使用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需要一个文件而不是字符串。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用loadXML代替load来解析字符串中的XML。