Я использую DOMDocument
для создания нового XML-файла, и я хотел бы, чтобы выход файла был отступом хорошо, так что его можно легко отслеживать для читателя.Отступ с DOMDocument в PHP
Например, когда DOMDocument
выводит эти данные:
<?xml version="1.0"?>
<this attr="that"><foo>lkjalksjdlakjdlkasd</foo><foo>lkjlkasjlkajklajslk</foo></this>
Я хочу, чтобы файл XML быть:
<?xml version="1.0"?>
<this attr="that">
<foo>lkjalksjdlakjdlkasd</foo>
<foo>lkjlkasjlkajklajslk</foo>
</this>
Я искал вокруг в поисках ответов, и все, что я что, как представляется, попытаться контролировать пробелы таким образом:
$foo = new DOMDocument();
$foo->preserveWhiteSpace = false;
$foo->formatOutput = true;
Но это, кажется, ничего не делает. Возможно, это работает только при чтении XML? Имейте в виду, я пытаюсь написать новые документы.
Есть ли что-нибудь встроенное в DOMDocument
для этого? Или функция, которая может легко справиться с этим?
Я не уверен, в чем вопрос. Код, который вы показываете, даст результат, о котором вы просите. Доказательство: http://codepad.org/4UGyRspx и http://codepad.org/bLTOFQrp - вы спрашиваете о уровне отступов, например. количество используемых пробелов? – Gordon
Здесь есть простая простая функция (на основе регулярных выражений): [Формат XML с PHP] (http://recurser.com/articles/2007/04/05/format-xml-with-php/) – Tomalak
долгое время как отступ: [Преобразование отступов с preg_replace (без обратного вызова)] (http://stackoverflow.com/questions/8616594/converting-indentation-with-preg-replace-no-callback) – hakre