0

我有以下 PHP 代码。XSL 转换工作正常,并向服务器回显一个字符串,但是当我尝试保存时,我得到“致命错误:调用未定义的方法 stdClass::save()”使用 PHP 5.3 简单问题?

<?php


$xml = new DOMDocument;
$xml->load('myxml.xml');

$xsl = new DOMDocument;
$xsl->load('myxsl.xsl');

$proc = new XSLTProcessor();
$proc->importStylesheet($xsl);
$newXml = $proc->transformToXML($xml);
$newXML->formatOutput=true;
echo $newXml;

$newXML->save("newfile.xml")or die("Error");
?>
4

1 回答 1

1

transformToXML()返回一个字符串。您当然可以使用file_put_contents()将该字符串存储在文件中,但是您可以直接使用:

 $proc->transformToURI($xml,'file://'.getcwd().'/newfile.xml');

.. 或除当前工作目录 ( =getcwd() ) 之外的任何其他目录。

如果你想在保存之前设置一些属性/做一些修改,你可能想要:

$newDOM = $proc->transformToDoc($xml);
$newDOM->formatOutput = true;
$newDOM->save("newfile.xml")
于 2013-06-12T14:10:03.623 回答