Bonjour,
Je débute totalement en XML, je ne suis pas beaucoup plus avancée en PHP.
J'ai besoin pour mon stage de creer un formulaire en XML, de l'afficher en PHP (POO ), et de récuperer les données avec une base de donnée.
mon XML ressemble à ça :
Bref, un code XML avec plusieures balises imbriquées, qui doivent sortir sous forme de texte ou de tableau.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 <xml> <questionnaire ID="700" nom="Ss"> <!-- question N°7 --> <question ID="7" table="" texte="...:" type="radio"> <question ID="7.2.1" table="" texte="..." type="radio"> <question ID="7.3.1" table="" texte="..." type="yesno_condition" var=""> <question ID="7.4.1" table="" texte="..." type="texte" var=""> </question> </question> <question ID="7.3.2" table="" texte="..." type="yesno_condition" var=""> <question ID="7.4.2" table="" texte="..." type="texte" var=""> </question> </question> <question ID="7.3.3" table="" texte="..." type="yesno_condition" var=""> <question ID="7.4.3" table="" texte="" type="texte" var=""> </question> </question> </question> <question ID="7.2.2" table="" var="" texte="" type="yesno_condition"> <tableau ID="1.1" table="" type="array" texte="" > <tableau ID="1.1.1" table="" var="" type="texte"> </tableau> <tableau ID="1.1.2" table="" var="" type=""> </tableau> <tableau ID="1.1.3" table="" var="" type="texte"> </tableau> <tableau ID="1.1.4" table="" var="" type="time"> </tableau> <tableau ID="1.1.5" table="" var="" type="texte"> </tableau> <tableau ID="1.1.6" table="" var="" type="time"> </tableau> <tableau ID="1.1.7" table="" var="" type="texte"> </tableau> <tableau ID="1.1.8" table="" var="" type="time"> </tableau> </tableau> </question> <question ID="7.2.3" table="" var="" type="yesno_condition" texte=""> <tableau ID="1.2" texte=""> <tableau ID="1.2.1" table="" var="" type="texte"> <div style="margin-left:40px"><div style="margin-left:40px"><div style="margin-left:40px"><div style="margin-left:40px"> . . . . . .</div></div></div></div>.ETC.... </tableau> </tableau> </question> <question ID="7.2.4" table="" texte="" type="radio"> <question ID="7.3.4" table="" var="" type="yesno_condition" texte=""> <question ID="7.4.4" table="" var="" texte="" type="texte"> </question> </question> <question ID="7.3.5" table="" var="" type="" texte=""> <question ID="7.4.5" table="" var="" texte="" type="texte"> </question> </question> </question> </question> </questionnaire> </xml>
J'ai commencé à afficher le tout avec simpleXML, mais je bloque completement sur les boucles. Je n'ai absolument rien automatisé.
Quelqu'un pourrai m'expliquer comment essayer d'automatiser tout ça, sachant que j'ai pas mal de balises <questionnaire> dans mon script?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 <?php include ('classe.php'); $xml = simplexml_load_file('data.xml'); // questionnaire n°7 foreach ($xml->questionnaire[0]->question[0]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse") { echo utf8_decode($b),"\n"; } } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->question[0]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->question[0]->question[0]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->question[0]->question[1]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->tableau[1]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?> <br> <?php foreach($xml->questionnaire[0]->question[0]->question[0]->question[1]->question[0]->attributes() as $a => $b) { if ($a =="texte" OR $a =="reponse" ){ echo utf8_decode($b),"\n";} } ?>
Ca fait un moment que je cherche, et mes essais pour afficher les child n'ont absolument pas été concluant.
Merci
Partager