2

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

4

1 回答 1

3

您可以使用loadXML而不是load从字符串中解析 XML。

于 2013-02-01T11:57:54.380 回答