我正在尝试获取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内容。
echo file_get_contents($xml->cached_file)