@Kirill-Gorelov
С ума с IT

Как отформатировать XML?

Парни, нужно отдавать массив данных в xml формате(на php).
Формирую массив:
$exit_data = array('succes'  => 'false', 
			      'message' => 'No find user',
			      'data'    => 'false');


Функцией преобразовываю массив в xml:
function arrayToXml($array, $rootElement = null, $xml = null) {
  $_xml = $xml;
 
  if ($_xml === null) {
    $_xml = new SimpleXMLElement($rootElement !== null ? $rootElement : '<root/>');
  }
 
  foreach ($array as $k => $v) {
    if (is_array($v)) { //nested array
      arrayToXml($v, $k, $_xml->addChild($k));
    } else {
      $_xml->addChild($k, $v);
    }
  }
 
  return $_xml->asXML();
}


На выходе получаю вот такой ответ:
<?xml version="1.0"?>
<root><succes>true</succes><message>Succes request</message><data>251;252;253</data></root>

Как бы все нормально, но как мне из этого отформатировать и сделать так?
<?xml version="1.0"?>
<root>
    <succes>true</succes>
    <message>Succes request</message>
    <data>251;252;253</data>
</root>


То есть, что бы было не в строку, а отформатировано вот так?
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 2
NikkyNick1
@NikkyNick1
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Используйте Tidy
$tidy_config = [
    'output-xml' => true, 
    'input-xml' => true,
    'indent' => true,
    'clean' => true,
];

echo tidy_repair_string($input, $tidy_config);
Пример: https://ideone.com/C0HKuG
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы