Код PHP для выравнивания содержимого XML в теге `pre`

Я хочу выровнять синтаксис XML, отображаемый в предварительном теге на веб-странице.

Как показано здесь, у нас есть много решений, чтобы выделить синтаксис, но не выравнивать их, то есть добавить несколько предшествующих пробелов для code block.

Если вы знаете, как, пожалуйста, покажите мне.

Исходный XML-текст:

<abb><ccc></ccc><ccc><edd></edd></ccc></abb>

После выравнивания должно быть:

<abb>
    <ccc>
    </ccc>
    <ccc>
        <edd>
        </edd>
    </ccc>
</abb>

person Nam G VU    schedule 07.11.2011    source источник


Ответы (1)


Вы можете использовать класс DOMDocument для форматирования XML:

$dom = new DOMDocument;
$dom->preserveWhiteSpace = false;
$dom->loadXML($youtXMLString); 
$dom->formatOutput = true;
echo $dom->saveXml();
person inkubux    schedule 07.11.2011