当前位置: 首页 > 图文教程 > 网络编程 > PHP > Zend 输出产生XML解析错误

PHP
用PHP实现ODBC数据分页显示一例
用DBSQL类加快开发MySQL数据库程序的速度
多php服务器实现多session并发运行
多核编程中的负载平衡难题
将Oracle内置的安全特性用于php
在PHP中使用ASP.NET AJAX
php中计算时间差的几种方法
PHP 5.0对象模型深度探索之类的静态成员
让PHP管理小型的邮件列表
MagickWand for PHP linux INSTALL 安装
PHP中数组元素升序、降序及重新排序的函数
PHP后门的隐藏技巧测试报告
配置Apache 1.3或者Apache 2.0服务器的5个技巧
用Suhosin加强PHP脚本语言安全性
PHP动态网页编程常用技巧四则
解答:如何使用PHP开发高效的WEB系统
PHP实现上传文件生成小图加文字的实例
PHP实现定时生成HTML网站首页
教你用PHP写MySQL数据库的用户认证系统
加速动态网站 MySQL索引分析和优化

PHP 中的 Zend 输出产生XML解析错误


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 54 ::
收藏到网摘: n/a

刚开始 Ajax 调用 PHP 用 DOM 动态产生的XML文件时没有任何错误。转到 Zend FrameWork 下时,在 IE 下显示也完全正常并且 Ajax 解析正常,但是在 Firefox 和 Safari 下便出现如下错误 XML解析错误:xml处理指令不在实体的开始部分
位置:http://.../public/xml/get
行:2,列:1:<?xml version="1.0"?>
^
仔细检查后发现是首行为空。找了很久没有找到到底 zend 的 view 在哪儿输出了空行,包括初始化一个新的 View ,但是始终没有找到原因,但是网站主页的首行是没有空的。
网上也有类似的例子,但是他们解决的方法是注意控制输出,但是我不知道 View 怎么控制输出。 弄了半天也没成功,我都快崩溃了,我决定放弃这种方法,而先将 xml 文件写到服务器端再调用。显然这样会降低网站的性能。
在改了方法后,我尝试着找一下解决的办法,我找了 PHP 内存相关的资料,尝试着把 ob_end_clean(); 加在了输出 之前, 如下:
$xmlfile = $doc->saveXML();
//$doc->save("data.xml");
ob_end_clean();
$this->view->xml = $xmlfile;
在视图顶部只写一句:
<?=$this->xml; ?>
然后再一调式,哈哈,成功了。