【问题标题】:PHP XMLWriter startDocument makes empty spacePHP XMLWriter startDocument 使空白空间
【发布时间】:2012-01-18 21:23:52
【问题描述】:
$this->startDocument($this->_xmlVersion, $this->_charSet);

XML 解析失败

XML 解析失败:语法错误(行:1,字符:1)

Error:
XML declaration not at beginning of document 
Specificat`enter code here`ion:
http://www.w3.org/TR/REC-xml/ 
  1:  <?xml version="1.0" encoding="UTF-8"?>
Empty space before <?

如何删除它?

【问题讨论】:

  • 您可以使用ltrim()从左侧修剪
  • 多为&lt;?php前的前导空格和换行造成的。

标签: php codeigniter xmlwriter


【解决方案1】:

你在用什么?你的代码看起来不像XMLWriter

$x = new XMLWriter();
$x->openMemory();
$x->startDocument('1.0','UTF-8');
var_dump($x->outputMemory());

这没有多余的空格。

【讨论】:

    【解决方案2】:

    我可能是由?&gt; 引起的——查看您的库、挂钩等并将其删除。

    【讨论】:

      【解决方案3】:

      尝试ob_clean(),但首先确保启用输出buffering(ob_start())

      【讨论】:

      • 你能解释一下这将如何回答 OP 的问题吗?
      【解决方案4】:

      使用 ob_clean(),就我而言,它解决了我的问题。

      header("Content-type: text/xml");
      $xml = new \XmlWriter();
      $xml->openMemory();
      $xml->startDocument($this->version, $this->encoding);
      ob_clean();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-17
        • 1970-01-01
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        • 2015-08-13
        相关资源
        最近更新 更多