ЕСЛИ массив ассоциативен и правильно введен, возможно, было бы проще сначала превратить его в xml. Что-то вроде:
function array2xml ($array_item) {
$xml = '';
foreach($array_item as $element => $value)
{
if (is_array($value))
{
$xml .= "<$element>".array2xml($value)."</$element>";
}
elseif($value == '')
{
$xml .= "<$element />";
}
else
{
$xml .= "<$element>".htmlentities($value)."</$element>";
}
}
return $xml;
}
$simple_xml = simplexml_load_string(array2xml($assoc_array));
Другим маршрутом было бы сначала создать ваш основной xml, например
$simple_xml = simplexml_load_string("<array></array>");
, а затем для каждой части вашего массива использовать что-то похожее на мое текст создает цикл и вместо этого использует функции simplexml «addChild» для каждого узла массива.
Я попробую позже и обновить это сообщение в обеих версиях.