PHP XML 错误仅在"included"



嗨,伙计们,我可能不得不把一个测试脚本放在一起来演示这一点,但我认为这应该是一个显而易见的答案。

我有一个生成XML文档的php脚本。在common.inc.php.

中有几个函数。

当我通过require_once包含这些函数时,脚本执行得很好,但浏览器认为它是HTML而不是xml,通过我的解析器中的一个纠结:)

当我在脚本中剪切和粘贴相同的函数时,它像冠军一样工作。

知道为什么吗?必须是我所缺少的功能要求。我尝试了一些ob函数,但没有成功。

  header ("Content-Type:text/xml");

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

如果在xml行之前有某种输出,通常会发生这种情况。您确定PHP打开标记<?php是文件中的第一件事吗?一定要考虑到任何包含,比如common.inc.php。

我打赌它在开始标记之前或结束标记之后有一个空行。如果您有一个完全是PHP的文件,您可以简单地不关闭PHP标记,而完全忽略?>。这确保了文件末尾的任何换行符都不会发送到浏览器。您仍然需要注意文件的开头

最新更新