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 行并得到了同样的错误。

那么有什么问题呢?是否有任何适当的方法可以在 php 文件中包含 XML 文件、更改标题并将其显示给最终用户?我真的不想重定向,我需要留在同一个 php 文件中,只显示 XML 内容。

4

1 回答 1

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