Bonjour!
Je suis un débutant en PHP, et comme à mon habitude, je souhaite arriver à un résultat précis sans connaître les bases. Je vous soumet mon problème:
Soit un xml "miseenforme.xml" comme suit
Je souhaite dans un premier temps lister tous les éléments "vid". Je procède comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<?xml version="1.0" encoding="utf-8"?> <media> <category type="vid"> <nom>nom 1</nom> <image>ocean.jpg</image> <datesortie>01/11/2010</datesortie> <tag>Documentaire</tag> <comm>superbe! Sacré spectacle.</comm> </category> <category type="zic"> <artiste>nom 2</artiste> <album>Welcome à Zanzibar</album> <image>ocean.jpg</image> <datesortie>01/11/2010</datesortie> <comm>Album de jazz. Blabla...</comm> </category> </media>
Le fait est que ce script ne fait que m'afficher "je suis dans zic". On dirait que je n'ai rien compris à la boucle "foreach"? Le script devrais en 1er s'arrêter sur le "node" category qui est une "vid" (donc afficher le nom du film et le commentaire), en 2nd s'arrêter sur le "node" category qui est une "zic" (et afficher "je suis une zic"), enfin se finir puisqu'il n'y a plus de node category. Non?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <? $xml = simplexml_load_file('miseenforme.xml'); foreach ($xml->category as $flim); { if ($flim['type'] == "vid") { echo 'Nom : '.utf8_decode($flim->nom).'<br />'; echo '<b>'.utf8_decode($flim->comm).'</b><br />'; } else { echo 'je suis dans zic <br />'; } } ?> </body> </html>
Partager