Форматирование SimpleXMLElement

В соответствии с этот ответ можно выводить форматированный XML. Еще этот код php:

$xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"utf-8\" ?><data></data>");
$xml->addChild("child1", "value1");
$xml->addChild("child2", "value2");

$dom = new DOMDocument('1.0');
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
$dom->loadXML($xml->asXML());
echo $dom->saveXML();

выходы value1 value2

Так как мне правильно отформатировать его в настоящее время?

0

Решение

Чтобы отобразить форматированный XML (или HTML), вы должны использовать htmlentities встроенная функция, которая «конвертирует все применимые символы в HTML-объекты».

В твоем случае:

echo htmlentities($dom->saveXML());

выведет это:

<?xml version="1.0" encoding="utf-8"?> <data> <child1>value1</child1> <child2>value2</child2> </data>

Использование-это вместе с <pre> html-тег, также будут напечатаны символы новой строки и пробелы:

echo '<pre>' . htmlentities($dom->saveXML()) . '</pre>';

выведет это:

<?xml version="1.0" encoding="utf-8"?>
<data>
<child1>value1</child1>
<child2>value2</child2>
</data>
1

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

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

По вопросам рекламы [email protected]