2011-01-05 11 views
1

私はZend_FrameworkとXML出力を生成しようとしているが、この厄介な事がポップアップし続ける:XML生成エラー

限り私はホワイトスペースは私のインクルードファイルのいずれかではありません知っているよう
XML Parsing Error: XML or text declaration not at start of entity 
Location: http://cart/index/kurpirkt 
Line Number 2, Column 1:<?xml version="1.0" encoding="utf-8"?> 
^ 

それがあったとしても、私はob_clean()関数がそれを処理していたはずだと思います。ここに私のコードは次のとおりです。

public function kurpirktAction() 
    { 
     ob_clean(); 
     // XML-related routine 
     $xml = new DOMDocument('1.0', 'utf-8'); 
     $xml->appendChild($xml->createElement('foo', 'bar')); 
     $output = $xml->saveXML(); 

     // Both layout and view renderer should be disabled 
     Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer')->setNoRender(true); 
     Zend_Layout::getMvcInstance()->disableLayout(); 

     // Setting up headers and body 
     $this->_response->setHeader('Content-Type', 'text/xml; charset=utf-8') 
       ->setBody($output); 
    } 

すべてのヘルプや提案?

+0

にコメントから有用な情報を移します。 –

+0

私は、エラーメッセージを掲示したときに私の悪い、いたずらだった。私はそれを更新しました! –

答えて

1

アプリケーションのすべてのアクションで追加の空白が発生した場合の最初のテストです。
もしそうなら、<?phpまたは古い左オーバーデバッグ文の前に末尾のスペースをため
/public/index.php/application/bootstrap.php
確認してください。

編集:ちょうどあなたが、バージョン1.0で文書を作成することを気づいていますが、私たちを見せているエラーは、バージョン1.2を持って答え

+0

ZF1.10。それをFirefox経由で見る。 –

+0

私は1.10.6ですべてうまくいっています。 まだ出力バッファのコンセンサスを検査しましたか? ZFが出力バッファリングを開始する前に、いくつかの出力を探すことをお勧めします。他のページ(xmlなし)にもその前に空白がありますか? /public/index.phpと/application/bootstra.phpが最初に見つかるはずです。典型的には、古いデバッグ・ステートメントは、そのようなフラグメントのルート・コーズです。 –

+0

しかし、 'ob_clean()'が空白を扱うべきではないでしょうか? –