0

ファイルが存在する場合、または新しいxmlファイルを生成している場合に備えて、XMLファイルの内容を取得しようとしています。問題は、xmlファイルを取得しようとすると、次のエラーが発生することです。

XML解析エラー:要素が見つかりません場所:http: //mydomain.gr/generate.php行番号1、列1:^

私のコードはこれです

<?php

include_once('xmlgenerator.php');
$xml = new XmlGenerator();
if($xml->cachefile_exists){
    if(!$xml->is_uptodate()){
        // echo "update it now";
        $xml->createFile = 1;
        $data = $xml->create();
        Header('Content-type: text/xml');
        print($data->asXML());
    }else{
        //echo "doesn't need any update.";
        Header('Content-type: text/xml');
        file_get_contents($xml->cached_file);
    }
}else{
   // echo "Didn't find any cache file. Lets Create it";
        $xml->createFile = 1;
        $data = $xml->create();
        Header('Content-type: text/xml');
        print($data->asXML());
}
?>

XML構造は問題なく、XMLファイルのエンコーディングまたはXMLを呼び出すphpファイルについて再確認します。すべてがBOMなしのUTF8です。XMLファイルをブラウザで直接開くと、完璧に見え、有効なファイルです(w3cおよびオンラインツールで確認してください)。

問題を引き起こす2行(おそらく):

Header('Content-type: text/xml');
file_get_contents($xml->cached_file) 

私も何かを削除し、この2行を使用しただけで、同じエラーが発生しました。

では、何が間違っている可能性がありますか?XMLファイルをphpファイルに含め、ヘッダーを変更してエンドユーザーに表示する適切な方法はありますか?私は本当にリダイレクトしたくありません。XMLコンテンツを表示するだけで同じphpファイルにとどまる必要があります。

4

1 に答える 1

1
echo file_get_contents($xml->cached_file) 
于 2013-01-30T19:16:30.090 に答える