PHP DOM formatOutput работать с XML-файлом только один раз

Я работаю с XML-файлом. Данные из формы отправляются в этот файл.
Прежде всего я создаю новый XML-файл с корневым тегом:

$doc = new DOMDocument('1.0')
$root = $doc->createElement('users');
$doc->appendChild($root);
$doc->save('path/filename.xml');

Затем программа откроет этот файл и добавит новые данные:

$doc = new DOMDocument('1.0');
$doc->load('path/filename.xml');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;
...adding some data...
$doc->save('path/filename.xml');

Когда моя программа добавляет данные в первый раз, formatOutput выглядит хорошо:

<users>
<user>
<name>Username1</name>
</user>
</users>

Но когда программа добавляет данные снова, formatOutput не работает:

<users>
<user>
<name>Username1</name>
</user>
<user><name>Username2</name></user><user><name>Username3</name></user></users>

1

Решение

Я нахожу ошибку. formatOutput и preserveWhiteSpace должны быть загружены:

$doc = new DOMDocument('1.0');

$doc->formatOutput = true;
$doc->preserveWhiteSpace = false;

$doc->load('path/filename.xml');

Спасибо @kodmanyagha за ссылку.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector