PHP DOM XML formatoutput с добавлением пробела в первой строке

1

Я боролся с этой проблемой, и я не могу понять, почему в первой строке xml файла есть пробел.

Я создаю XML как строку, например:

$xml  = '<?xml version="1.0" encoding="utf-8" standalone="no" ?>';
$xml .= '<AuditFile xmlns="urn:OECD:StandardAuditFile-Tax:PT_1.03_01">';

Следующее изображение представляет собой код выше.

Изображение 174551

И затем я сохраняю файл таким образом

$xml = new DOMDocument('1.0');
$xml->preserveWhiteSpace = FALSE;
$xml->formatOutput = TRUE;
$xml->loadXML($xmlString);
$xml->save('myfile.xml');

Проблема в том, что файл содержит пробел в первой строке. Как его удалить? Я пробовал без каких-либо успехов ltrim($xmlString);

Изображение 174551

Теги:
domdocument

1 ответ

1
Лучший ответ

Решено.

Я узнал, что проблема не в классе DOMDocument а да о функции, которая позволяет пользователю загружать файл.

Раньше у меня было это:

header('Content-Description: File Transfer');
header('Content-Type: text/xml');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));

readfile($file);

И этот фрагмент кода добавлял лишние пробелы в файле после загрузки. Чтобы решить эту проблему, мне пришлось добавить ob_clean() перед readfile().

  • 0
    У меня это сработало :-). +1

Ещё вопросы

Сообщество Overcoder
Наверх
Меню