【发布时间】:2011-02-22 09:52:36
【问题描述】:
我试图在视图文件中输出 XML。视图文件是result_view.php,它的第一行是
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
但我收到错误“序言中不允许内容”。那么如何正确地做到这一点呢?我使用 Eclipse + PDT。
【问题讨论】:
标签: php xml codeigniter
我试图在视图文件中输出 XML。视图文件是result_view.php,它的第一行是
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
但我收到错误“序言中不允许内容”。那么如何正确地做到这一点呢?我使用 Eclipse + PDT。
【问题讨论】:
标签: php xml codeigniter
Codeigniter 4 更新
$this->response->setHeader('Content-Type', 'text/xml');
【讨论】:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
在 html 中看起来不错,但是接收者(应用程序)必须将 and#063; 替换为 ?。
【讨论】:
一个简单的解决方案是在视图文件中设置 php 标头,然后回显 xml 标头。
将其放在视图文件的顶部:
<?php header ("Content-Type:text/xml"); ?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?>
【讨论】:
我不知道这是否会导致任何问题,但我在 .htaccess 文件中禁用了 PHP 短打开标记,<?xml 工作。 PHP 不再尝试将 <? 解析为 php 脚本。
【讨论】:
此错误似乎表明您在 声明之前有数据。您的文件开头可能有一个 Byte Order Mark。
尝试在允许您删除任何 BOM(例如 Notepad++)的编辑器中打开您的文件,或者使用能够以十六进制格式查看文件的编辑器打开文件。您还可以使用多种工具来删除 BOM。谷歌了解更多信息,因为您使用的工具会因您的情况和环境而异。
【讨论】:
为什么要使用 php 标签来回显一个简单的字符串?
把它放在你的视图顶部怎么样:
<?xml version="1.0" encoding="UTF-8"?>
【讨论】: