编程语言
首页 > 编程语言> > Cakephp生成xml错误-空白

Cakephp生成xml错误-空白

作者:互联网

我试图在CakePHP中生成一个动态xml文档以输出到浏览器.

这是我的控制器代码:

Configure::write ('debug', 0);
$this->layout = null;
header('Content-type: text/xml');
echo "<?xml version=\"1.0\"?>";

视图是这样的:

<abc>
     something
</abc>

输出可能与预期的一样:

<?xml version="1.0"?><abc>something</abc>

唯一的问题是<?xml之前有一个空格,给我一个错误:

XML Parsing Error: XML or text declaration not at start of entity
Line Number 1, Column 2:
 <?xml version="1.0"?><abc> something </abc>
-^

我知道PHP中的这个问题,当您有php-start和end标记时,它会留出空间并产生问题,因此,我尝试将行echo“<?xml ver ...”从视图移动到控制器,以避免该问题.但这没有帮助. 提前致谢.
-happyhardik

解决方法:

是的,问题应该出在php end标记后的某个位置.

由于php结束标记不是强制性的,因此从app_controller.php和app_model.php以及您的视图助手中删除您要查询的所有模型(如果有)中的所有结束标记.应该在某个地方,但不容易找到

编辑:实际上,它也可能是php begin标记之前的空格,查看这些文件并检查begin标记是否在文件的绝对开头

再次编辑:有些人已经创建了一些脚本来自动为您执行此操作,请查看:

http://ragrawal.wordpress.com/2007/11/07/script-for-removing-blank-spaces-before-and-after-php-tags/

标签:xml-generation,php,cakephp,syntax-error,whitespace
来源: https://codeday.me/bug/20191012/1903881.html