Я генерирую некоторые XML-данные в ответ на запрос HTTP POST. Я устанавливаю MIME
header('Content-type: text/xml');
и все хорошо работает до сих пор.
Я генерирую ответ xml следующим образом:
$response = '<?xml version="1.0" encoding="utf-8"?>';
$response .= '<error>';
$response .= '<description>'.$error.'</description>';
$response .= '</error>';
echo $response;
Теперь я хотел бы формат XML, чтобы вместо этого ответа:
<?xml version="1.0" encoding="utf-8"?><error><description>Login Error: No Username Supplied</description></error>
они видят этот ответ:
<?xml version="1.0" encoding="utf-8"?>
<error>
<description>Login Error: No Username Supplied</description>
</error>
Я не работал с XML-выходом с PHP, поэтому не уверен, есть ли встроенный метод для создания функции "довольно печатного типа" на выходе?
Используйте библиотеку DOM и установите для свойства formatOutput
значение true
$doc = new DOMDocument('1.0', 'utf-8');
$doc->formatOutput = true;
$root = $doc->createElement('error');
$doc->appendChild($root);
$desc = $doc->createElement('description', $error);
$root->appendChild($desc);
echo $doc->saveXML();
Демо ~ https://eval.in/461384