ファイルが存在する場合、または新しい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ファイルにとどまる必要があります。