CodeIgniter在View中输出XML

时间:2010-05-21 14:54:02

标签: php xml codeigniter

我尝试在视图文件中输出XML。视图文件为result_view.php,第一行为

<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>

但我收到错误“prolog中不允许内容”。那么如何正确地做到这一点?我使用Eclipse + PDT。

6 个答案:

答案 0 :(得分:9)

一个简单的解决方案是在视图文件中设置php标头,然后回显xml标头。

将其放在视图文件的顶部:

<?php header ("Content-Type:text/xml"); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?>

答案 1 :(得分:2)

此错误似乎表明您的&lt;?xml?&gt;之前有数据?宣言。您的文件开头可能有 Byte Order Mark

尝试在编辑器中打开文件,该编辑器允许您删除任何BOM(例如Notepad ++),或者能够以十六进制格式查看文件的编辑器。您还可以使用多种工具来删除BOM。 Google提供了更多信息,因为您使用的工具会因您的情况和环境而异。

答案 2 :(得分:1)

我不知道这是否会导致任何问题,但我在.htaccess文件中禁用了PHP短打开标记,并且<?xml有效。 PHP不再尝试将<?解析为php脚本。

答案 3 :(得分:1)

<&#063;xml version="1.0" encoding="utf-8" standalone="yes"&#063;>

在html中看起来不错,但是接收者(应用程序)必须将and#063;替换为?

答案 4 :(得分:1)

Codeigniter 4更新

    $this->response->setHeader('Content-Type', 'text/xml');

答案 5 :(得分:-1)

为什么使用php标签回显一个简单的字符串?

将它放在视图的顶部怎么样:

<?xml version="1.0" encoding="UTF-8"?>