# LOAD XML FILE
$XML = new DOMDocument();
$XML = simplexml_load_file("images/upload/source.xml");
# START XSLT
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( 'xsl/transfer.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet( $XSL );
#PRINT
print $XML->saveXML();
print $XML->save("newfile.xml") ;
代码非常简单,我们需要加载源xml文件,然后加载样式表,实际上它确实有效.
导致麻烦的代码是最后一行:
print $XML->save("newfile.xml") ;
运行后我得到错误“致命错误:调用未定义的方法SimpleXMLElement :: save()”.但是,实际上,我在这里遵循一个教程:
http://devzone.zend.com/article/1713.
也许我搞砸了什么,有人能给我一些暗示吗?提前致谢.
# LOAD XML FILE
$XML = new DOMDocument();
$XML->load("images/upload/source.xml");
# START XSLT
$xslt = new XSLTProcessor();
$XSL = new DOMDocument();
$XSL->load( 'xsl/transfer.xsl', LIBXML_NOCDATA);
$xslt->importStylesheet( $XSL );
#PRINT
print $xslt->transformToXML( $XML );
现在正确转换的XML在浏览器中显示,我已经尝试了一些方法,但仍然无法弄清楚如何将此结果打印到文件而不是在浏览器中显示,任何帮助表示赞赏,提前感谢.
解决方法:
您正在更改$XML的定义方式,只需在$XML而不是simplexml_load_file上调用load
方法:
$XML = new DOMDocument();
$XML->load("images/upload/source.xml");
完全没有理由使用simplexml,因为XSLT处理都是使用DOMDocument完成的.所以只需更换那一行,你应该好好去…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。