(un)serialize ne fonctionne pas sur un objet simplxml

Discret
Invité n'ayant pas de compte PHPfrance

12 déc. 2005, 03:32

Bonjour à tous.

J'obtiens une erreur lorsque j'execute le script suivant (réduit au minimum pour produire l'erreur).
	$site = "http://www.linuxfr.org/backend/news/rss20.rss";
	$xml1 = simplexml_load_file ($site);
	$stockage = serialize ($xml1);
	$xml2 = unserialize ($stockage);
L'erreur est "Node no longer exists".
J'ai testé avec d'autres fluxrss, mais cela n'arrange pas le problème.


D'où provient l'erreur ?

Merci de votre aide.

Mammouth du PHP | 1776 Messages

12 déc. 2005, 03:57

Que retourne $xml1 ?
teste le code suivant:
$site = "http://www.linuxfr.org/backend/news/rss20.rss"; 
$xml1 = simplexml_load_file ($site); 
if($xml1 == false) echo "simplexml_load_file()";
$stockage = serialize ($xml1); 
$xml2 = unserialize ($stockage); 
si ça affiche "simplexml_load_file()" alors ton soucis est la fonction simplexml_load_file()

Discret
Invité n'ayant pas de compte PHPfrance

12 déc. 2005, 04:06

Cela ne change rien.

xml1 est bel et bien un objet simplexml. J'ai réduis ici le code par souci de lisibilité, mais je peux utiliser l'objet pour afficher les news et j'ai accès à tout le contenu du fichier xml.