Генерация XML из массива

Сначала основная подзадача указанной задачи:
Нужно генерировать массивы указанной структуры

array('#name' => '', '#value' => '', '#attrs' => array(), '#type' => '')

Причём входные массивы могут быть различными:
«простой тег»

array('tag' => 'value')

«сложный тег»

array('#name' => 'tag', '#value' => 'value')

и массив тегов

array('tag' => array(array('nested_tag' => array('nested' => 'value1')), array('nested_tag' =>'value2')))

Причём они могут вкладываться друг в друга для генерации сложных XML-структур.
Без tdd, ясное дело, не обошлось.
В итоге имеем класс для генерации подобных массивов с тестами к нему.
Все файлы в приложении (код самого класса, тесты)

Ну и полный код с примером использования:
full_example

LEAVE A COMMENT