Мне нужно создать действительный xml из заданного массива ();
Мой метод выглядит следующим образом:
protected function array2Xml($array)
{
$xml = "";
if(is_array($array))
{
foreach($array as $key=>$value)
{
$xml .= "<$key>";
if(is_array($value))
{
$xml .= $this->array2Xml($value);
}
$xml .= "</$key>";
}
return $xml;
}
else
{
throw new Exception("in valid");
}
}
protected function createValidXMLfromArray($array,$node)
{
$xml = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$xmlArray = $this->array2Xml($array);
$xml .= "<$node>$xmlArray</$node>";
return $xml;
}
Если я выполню вышеизложенное, я просто получу ключи с пустыми значениями;
как
<node>
<name></name>
</node>
Что мне нужно, если я передам это array("name"=>"test","value"=>array("test1"=>33,"test2"=>40));
, чтобы оно вернуло
<node>
<name>test</name>
<value>
<test1>33</test1>
<test2>40</test2>
</value>
</node>
Где находитсяошибка, что я сделал не так в приведенной выше рекурсии?