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