CakePHP XML (1.3) - PullRequest
       30

CakePHP XML (1.3)

1 голос
/ 21 июня 2010

Всякий раз, когда я вывожу XML-файл, я всегда получаю 9 пустых строк сверху, кто-нибудь знает, в чем проблема?В конце я также получаю метку времени, которую я не хочу:

<!-- 0.35s -->

Вот ошибка:

XML Parsing Error: XML or text declaration not at start of entity
Location: http://example.com/controller/get
Line Number 9, Column 1:<?xml version="1.0" encoding="UTF-8" ?>

Я положил $this->RequestHandler->setContent('xml','text/xml'); в beforeFilter() моего контроллера ивид выглядит так:

<?php echo $xml->serialize($data); ?>

, а макет выглядит так:

<?php
    header("content-type: text/xml");
    echo $this->Xml->header();
    echo $content_for_layout;
?>

Есть идеи?Спасибо.

Ответы [ 3 ]

2 голосов
/ 21 июня 2010

Вы также можете установить Configure :: write ('debug', 0); в контроллеры beforeFilter () или любой другой метод / serviceCall перед рендерингом, чтобы избавиться от метки времени.

1 голос
/ 03 февраля 2011

9 пустых строк, вероятно, потому что у вас есть строки с пробелами в конце некоторых файлов php в вашем проекте.Это застало меня несколько раз в CakePHP.

Простой способ удалить пустые строки в конце всех ваших php-файлов см. В этом посте: Найдите все файлы с Blank или WS в BOF илиEOF

1 голос
/ 21 июня 2010

Метка времени добавляется в app/webroot/index.php, поэтому вы можете удалить ее, отредактировав этот файл (соответствующий код вы найдете в конце файла).

...