【发布时间】:2014-01-20 12:54:32
【问题描述】:
我的服务器上有一个 XML 文件,该文件位于私人位置,因此无法通过 URL 访问该文件。我正在尝试使用 PHP 读取 XML 文件的内容,并希望将其显示在 HTML 页面中。我尝试了几种方法,例如设置header('Content-type: text/xml'),但似乎没有任何效果。该页面显示为空文本。我想以类似于在浏览器中显示的方式显示 XML 文件。
我必须显示的 XML 是这样的。
<simplexmlresult version="1.3" xmlns="http://sdk.prometric.com/schemas/SimpleXMLResults1_3">
<demographics>
<demographic name="Activity" value="5"></demographic>
<demographic name="AddUser" value="20130000"></demographic>
</demographics>
<exam resourcefilename="73392.cer" resourceversion="1.0" name="temp"></exam>
</simplexmlresult>
读取文件的PHP代码:-
<?php
header("Content-type: text/xml; charset=utf-8");
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
$elig_id = $_GET['eid'];
if($elig_id) {
$filename = get_file_name_from_eligibility($elig_id);
$file = file_get_contents('./folder/temp/done/'.$filename);
print $file;
}
?>
【问题讨论】:
-
显示您的 PHP 代码以读取该 XML 文件。
-
get_file_name_from_eligibility 函数定义在哪里?
-
我检查了函数是否返回值。如果我在浏览器中执行“检查元素”,我可以看到完整的 XML。
-
get_file_name_from_eligibility 函数只返回文件名或 XML 数据本身?
-
空白页意味着您的脚本正在抛出错误,但您尚未配置 PHP 以显示错误消息。除非您想浪费时间猜测,否则您需要在更进一步之前解决这些问题;如果没有错误消息的帮助,就不可能正确编码。这是brief explanation。除此之外,您说您想在 HTML 中显示 XML,但您的代码根本没有 HTML——它甚至发送了一个 XML 内容类型标头。我怀疑您的描述是错误的:您只是发送原始 XML,不是吗?