PHP xmlwriter文档中的换行符
我有一个使用
XMLWriter创建的
XML feed.它在
PHP 5.6流浪盒中完美无缺地工作.在实时服务器上运行PHP 5.4,无法使用消息呈现源:
This page contains the following errors: error on line 3 at column 6: XML declaration allowed only at the start of the document 如果您查看源代码,它看起来像这样: 不知何故,XML文档中添加了几行.服务器之间的唯一区别是PHP版本(据我所知). 这是XMLWriter代码的前几行: $xml = new XMLWriter(); $xml->openURI('php://output'); $xml->startDocument("1.0"); $xml->setIndent(true); $xml->startElement("propertyList"); $xml->writeAttribute('date',date('Y-m-d-H:i:s')); 任何想法如何解决这个问题?
从PHP 5.4到5.6的一些变化……更不用说libxml中的变化……
第一件事显然是确保在打开<?php标签之前或者在使用结束标签之后没有空格. 如果您可以确定何时引入新行(假设它们是新行…您是否使用了十六进制查看器之类的内容?),这将有所帮助.尝试写入临时位置 – 想要确定在提供页面时还是在输出xmlWriter时是否发生这种情况. 想到的事情…… > LIBXML_HTML_NOIMPLIED?改变了5.4左右? 解决方法: >在开始写入输出流之前尝试调用ob_clean. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |