Mobione Posté 26 Juillet 2006 Posté 26 Juillet 2006 Salut a tous, J'ai une structure xml qui est mise a ma disposition assez basique du type : - <items>- <sous-genre id="58741">- <film id="381504" name="Nom Film 1" url="www.lien1">- <artistes>- <artiste id="1" name="artiste1"></artiste>- <artiste id="2" name="artiste2"></artiste>- <artiste id="3" name="artiste3"></artiste>- </artistes>- </film><film id..2...3...4..etc...>- </sous-genre>- </items> Tout se passe a merveille quand je décide de parser avec simplexml seulement par films.. mais dés que je rajoute la boucle sous-genre ça n'affiche rien ! pourtant ça na rien de sorcier ! <?php $bibliotheque = simplexml_load_file("1044.xml"); //la ligne qui pose probforeach ($bibliotheque->sous-genre as $genre) { //le reste des boucles sans probforeach ($genre->film as $film) {foreach ($film->artistes as $artistes) {foreach ($artistes->artiste as $artiste) {} } } }?> Avez vous une idée du problême , peut etre est-ce a cause du tiret "sous-genre" ? j'en sais rien.. j'attend vos remarques.... [Edit captain_torche] Il est préférable, quand tu postes du code, d'utiliser les balises CODE ou CODEBOX (pour un code plus long) : elles facilitent la lecture, et permettent de conserver l'indentation (cf plus bas)
Anonymus Posté 26 Juillet 2006 Posté 26 Juillet 2006 En php, on ne peut utiliser le tiret dans le nom d'une variable. Il y a de fortes chances pour qu'il essaie de faire une soustraction.. Mets un underscore plutot, ou accoles les 2 termes ( " sousgenre " )
Mobione Posté 26 Juillet 2006 Auteur Posté 26 Juillet 2006 justement j'ai mis $genre comme variable, apres reste la balise dans le xml.. vu que la balise "sous-genre" je ne peux pas la changer,mais je ne crois pas que cela vienne de là, puisque j'ai changé le nom de la balise a "genre", et cela me donne la même chose "page blanche".
Anonymus Posté 26 Juillet 2006 Posté 26 Juillet 2006 redécomposes tes boucles, en passant les variables dans la fonction print_r(); Ca va t'afficher le contenu des tableaux, mais ca va surtout te montrer ce que tu peux utiliser dans la boucle en question
Mobione Posté 26 Juillet 2006 Auteur Posté 26 Juillet 2006 Le print_r(); me donne : SimpleXMLElement Object( [@attributes] => Array ( [id] => 1059 ) [film] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [id] => 46264 [name] => Nom film1 [url] => www.film1 ) Comment l'interpréter, surtout le debut ? j'avou avoir des connaissences rudimentaires.. Merci d'avance
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant