¡Hola Amigos!
Encontré en el curso de mis viajes, que los objetos obtenidos con la función simplexml_load_file de php no pueden ser serializados.
Para solucionar eso, encontré esta función de PHP, que va a solucionar sus problemas.
function objectsIntoArray($arrObjData, $arrSkipIndices = array()) { $arrData = array(); // if input is object, convert into array if (is_object($arrObjData)) { $arrObjData = get_object_vars($arrObjData); } if (is_array($arrObjData)) { foreach ($arrObjData as $index => $value) { if (is_object($value) || is_array($value)) { $value = objectsIntoArray($value, $arrSkipIndices); // recursive call } if (in_array($index, $arrSkipIndices)) { continue; } $arrData[$index] = $value; } } return $arrData; }
Esto puede ser utilizado de la siguiente manera:
$xmlObject = simplexml_load_file("http://twitter.com/statuses/user_timeline/droope123.xml?count=1"); // serializar esto me daría errores de nodo no existente, o algo asi. $xmlArray = objectsIntoArray($xmlObject); $serializedXml = serialize($xmlArray); print_r(unserialize($serializedXml)); // oh, alegría : D
¡Espero que les sea de utilidad!
Un saludo,
Pedro