La solución es muy sencilla, para este ejemplo, utilizaremos la librería SimpleXML. Esta libería requiere la extensión de PHP libxml y funciona a partir de PHP 5.
Voy a usar el xml de ejemplo que viene en la documentación de PHP.
# aquí debes poner la ruta y el nombre de tu archivo xml $xmlstring = realpath(dirname(__FILE__)) . '/xmls/prueba.xml'; if (!file_exists($xmlstring)) { trigger_error(__FILE__: {$xmlstring}", E_USER_ERROR); return; } $xml = simplexml_load_file($xmlstring); $json = json_encode($xml); $array = json_decode($json, TRUE); echo '<pre>'; print_r($xml); echo '</pre>'; echo '<pre>'; print_r($array); echo '</pre>';
Nota: el inconveniente de pasar el objeto XML a un array con esta técnica, es que se pierden los atributos de los elementos, como en el caso de los atributos del elemento <puntuacion>, que se pierden los atributos "tipo", pero seguramente para determinados casos esta sencilla técnica puede servir muy bien.
El resultado de este ejemplo para el objeto simpleXML sería:
SimpleXMLElement Object ( [pelicula] => SimpleXMLElement Object ( [titulo] => PHP: Tras el Parser [personajes] => SimpleXMLElement Object ( [personaje] => Array ( [0] => SimpleXMLElement Object ( [nombre] => Srta. Programadora [actor] => Onlivia Actora ) [1] => SimpleXMLElement Object ( [nombre] => Sr. Programador [actor] => El Actor ) ) ) [argumento] => Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia de un documental. [grandes-lineas] => SimpleXMLElement Object ( [linea] => PHP soluciona todos los problemas web ) [puntuacion] => Array ( [0] => 7 [1] => 5 ) ) )
El resultado de este ejemplo para el array sería:
Array ( [pelicula] => Array ( [titulo] => PHP: Tras el Parser [personajes] => Array ( [personaje] => Array ( [0] => Array ( [nombre] => Srta. Programadora [actor] => Onlivia Actora ) [1] => Array ( [nombre] => Sr. Programador [actor] => El Actor ) ) ) [argumento] => Así que, este lenguaje. Es como, un lenguaje de programación. ¿O es un lenguaje interpretado? Lo descubrirás en esta intrigante y temible parodia de un documental. [grandes-lineas] => Array ( [linea] => PHP soluciona todos los problemas web ) [puntuacion] => Array ( [0] => 7 [1] => 5 ) ) )
No hay comentarios:
Publicar un comentario