【发布时间】:2011-05-30 01:14:10
【问题描述】:
我使用以下代码在 php 中执行 XSLT:
# 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 显示在浏览器中,我尝试了一些方法,但仍然无法弄清楚如何将此结果打印到文件而不是显示在浏览器中,感谢任何帮助,谢谢前进。
【问题讨论】:
标签: php xml simplexml xslt domdocument