Zend输出产生XML解析错误

7 篇文章 0 订阅

  刚开始 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; ?>

 

    然后再一调式,哈哈,成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值