Преобразование массива array в XML (Array to XML PHP)

Бывает, что приходится отойти от формата json в сторону XML, однако простой функции, наподобии json_encode для подобных манипуляций с XML пока нет.

На stackoverflow нашел замечательную функцию, которая работает с вложенными массивами.

И результат выполнения:

UPD 20.02.2015
Предложен упрощенный вариант в комментариях, спасибо Szen


  • Szen

    я бы немного упростил и оптимизировал код:

    function xml_encode ($array, $node = null) {
    if (!isset($node)) $node = new SimpleXMLElement(»);
    foreach ($array as $key => $value) {
    if (is_numeric($key)) $key = ‘item’ . $key;
    if (is_array($value)) {
    $subnode = $node->addChild($key);
    $node = $this->xml_encode($array, $subnode);
    } else {
    $node->addChild($key, $value);
    }
    }
    return $node->asXML();
    }