【问题标题】:Embed XML code in HTML page using PHP使用 PHP 在 HTML 页面中嵌入 XML 代码
【发布时间】: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,不是吗?

标签: php html xml


【解决方案1】:

尝试:

header( "content-type: application/xml; charset=ISO-8859-15" ); 

【讨论】:

    【解决方案2】:

    叫这个

    header("Content-type: text/xml; charset=utf-8"); 
    

    【讨论】:

      【解决方案3】:

      这就是我的做法:

      <?php 
      header("Content-type: text/xml; charset=utf-8");  
      readfile('sitemapindex.xml');
      

      【讨论】:

        猜你喜欢
        • 2014-12-16
        • 2011-12-13
        • 2012-09-09
        • 2021-09-14
        • 1970-01-01
        • 2013-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多