我尝试在视图文件中输出XML。视图文件为result_view.php
,第一行为
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'; ?>
但我收到错误“prolog中不允许内容”。那么如何正确地做到这一点?我使用Eclipse + PDT。
答案 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)
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
在html中看起来不错,但是接收者(应用程序)必须将and#063;
替换为?
。
答案 4 :(得分:1)
Codeigniter 4更新
$this->response->setHeader('Content-Type', 'text/xml');
答案 5 :(得分:-1)
为什么使用php标签回显一个简单的字符串?
将它放在视图的顶部怎么样:
<?xml version="1.0" encoding="UTF-8"?>