Función php que convierte cualquier array en xml

Código de función php que permite pasar cualquier array a xml, recibe 2 parametros, el primero es el array , el segundo es el nodo root en el que se metera el xml

Ejemplo de uso

Creamos un array

$style['css'][]=”css1″;
$style['css'][]=”css2″;

imprimimos diciendole que el nodo root es styles

print $xmlStyle=arrayToXml($style,’styles’);

El resultado obtenido es

<styles>
   <css>
      css1
   </css>
   <css>
      css2
  </css>
</styles>

El Código PHP

function arrayToXml($array,$lastkey=’root’)
{
    $buffer.="<".$lastkey.">\n";
    if (!is_array($array))
    {$buffer.=$array;}
    else
    {
        foreach($array as $key=>$value)
        {
            if (is_array($value))
            {
                if ( is_numeric(key($value)))
                {
                    foreach($value as $bkey=>$bvalue)
                    {
                        $buffer.=arrayToXml($bvalue,$key);
                    }
                }
                else
                {
                    $buffer.=arrayToXml($value,$key);
                }
            }
            else
            {
                    $buffer.=arrayToXml($value,$key);
            }
        }
    }
    $buffer.="</".$lastkey.">\n";
    return $buffer;
}
This entry was posted in PHP. Bookmark the permalink.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>