php-> xml, используя DOM, печатает все в одной строке, конфигурации сервера или предназначено? - PullRequest
0 голосов
/ 09 февраля 2010

Я использую php DOM для создания XML-файла данных, он работает нормально, но все выводится в одну строку, например так:

<property><something><somethingelse>dfs</somethingelse></something></property>

Однако во всех примерах, которые я нашел, он выводитправильно, вот так:

<property>
    <something>
       <somethingelse>
           dfs
       </somethingelse>
    </something>
</property>

Теперь я знаю, что могу заставить новую строку с \ n и \ t для табуляции, но я не хочу делать это без необходимости.Итак, мой вопрос:

Вынуждает ли мой серверный сервер (по какой-то причине) выводить данные в той же строке или что-то еще происходит?Все примеры этого использования не показывают использование новой строки, и они показывают новые строки, поэтому я думаю, что что-то не так.

Я заявляю

header('Content-Type: text/xml');

Ответы [ 2 ]

2 голосов
/ 09 февраля 2010

По умолчанию DOM не добавляет лишние пробелы в ваш документ. Вы можете задать это, установив

$doc->formatOutput = true;

См. соответствующую запись в руководстве .

Это не добавит пробелы к текстовым узлам, поэтому "dfs" в вашем примере будет не иметь отступ таким образом.

2 голосов
/ 09 февраля 2010

Установите атрибут formatOutput в объекте DOMDocument на true:

$domDocument->formatOutput = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...