Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > XML > SimpleXML
SimpleXML Forum d'entraide pour l'extension SimpleXML, qui permet de manipuler des documents XML en PHP (approche DOM).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/07/2007, 11h26   #1
Membre éclairé
 
Avatar de speedev
 
Développeur Web
Inscription : mai 2006
Messages : 936
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2006
Messages : 936
Points : 347
Points : 347
Par défaut [SimpleXML] vérifier existence noeud

Salut,

Je parcours un fichier xml costaud de 15mo et j'affiche certaines données précises. Certaines ne sont pas toujours présentes et je voudrai un contrôle car je reçois ce message d'erreur à chaque fois qu'un noeud n'est pas présent :

Citation:
Warning: main() [function.main]: Node no longer exists in .....php on line
Voici une parcelle de code renvoyant l'erreur:

Code :
1
2
3
4
 
// affichage de l'attribut et de sa valeur dans le noeud "couleur"
foreach ($feature->couleur->attributes() as $a => $b)
	echo "<li>".$a." => ".$b."</li>";
Couleur n'est pas toujours renseigné.

Merci
__________________
Développeur indépendant sur technos Web à votre service
speedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2007, 17h36   #2
Invité de passage
 
Inscription : août 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 1
Points : 1
Points : 1
Tu as sûrement trouvé depuis mais au cas où qqun rechercherait et tomberait ici:

je ne suis pas sûr que ce soit la meilleure solution, mais je teste tout simplement la présence du noeud avec un if:
ex:
Code :
1
2
3
4
5
6
 
if ($feature->couleur) {
   foreach ($feature->couleur->attributes() as $a => $b) {
	echo "<li>".$a." => ".$b."</li>";
   }
}
Pouchou est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h02.


 
 
 
 
Partenaires

Hébergement Web