@Kirill-Gorelov
С ума с IT

Правильно ли у меня генерируется xml на php?

Парни. Нужно сделать в массив в xml формат.
Раньше не работал с xml, по этому возникают вопросы.
По этому если не сложно проконсультируйте по некоторым вопросам.
ВОт массив, который мне нужно конвертировать
https://pastebin.com/2gg0XNur

Генерирую xml вот так:
function arrayToXml($array, $rootElement = null, $xml = null) {
  $_xml = $xml;
 
  if ($_xml === null) {
     // $_xml = new SimpleXMLElement($rootElement !== null ? $rootElement : '<root/>');
    $_xml = new SimpleXMLElement("<?xml version=\"1.0\" encoding=\"UTF-8\"?><root></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();
}


На странице это выглядит вот так
59e89fd45fad6665224144.jpeg

В исходном коде вот так
59e8a008e58c6594034632.jpeg

В инспекторе задач это выглядит вот так
59e8a0c491681855745283.jpeg

Я понимаю, что для тех кто работал с xml уже знает эти вопросы странные. Но я в первые с ним работаю, поэтому такие вопросы.

Правильно ли я генерирую и правильное получается у меня?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для того, чтобы оценить правильность вашего варианта надо знать, какой результат должен считаться правильным. Если вы генерируете xml для каких-то своих целей, то можете использовать любое представление, если для обмена со сторонней системой, то опираться надо на требуемый в этой системе формат.
Единственное небольшое замечание, тэг <0> смотрится странно. Обычно массивы делаются в форме
<items>
  <item>...</item>
  <item>...</item>
</items>
Ответ написан
Ваш ответ на вопрос

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

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