Bonjour,
Je suis face à un petit souci et je n'arrive pas à trouver la solution...
J'ai d'une part un fichier xml qui se présente de cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <result> <camping> <idSite>563</idSite> <address>1 place saint Génis</address> <address2 xsi:nil="1"/> <channel> <idChannel>6</idChannel> <name>FOIRE</name> </channel> ... ... </camping> </result>
Et d'autre part un fichier php qui comprend la fonction qui s'occupe de parser ce fichier xml :
Mon souci est que le parseur n'arrive pas à rentrer dans le premier "case" ... la balise existe bien, j'ai bien repris exactement le même nom mais rien à faire ça ne veut pas.
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 $reader = new XMLReader(); $reader->open('context.xml') ; // début parseur while ( $reader->read() ) { switch ($reader->nodeType) { case (XMLREADER::ELEMENT): switch( $reader->localName ) { //Information camping case "idSite" : if( $inCamping ) { $reader->read() ; $campings[$nb_camping-1]['idSite'] = $reader->value ; } break; case "address" : if( $inCamping ) { if( $reader->isEmptyElement == false ) { $reader->read() ; if( $nodes[ $nbNode - 3 ] == "camping" ) { $campings[$nb_camping-1]['addressCamping'] = $reader->value ; } } else { $campings[$nb_camping-1]['addressCamping'] = '' ; } } break; ... ... } break; } }
Par contre, il rentre normalement dans les autres "case" et fait les instructions demandées.
J'ai déjà réalisé des parseurs auparavant et c'est bien la première fois qu'une telle chose m'arrive
D'avance Merci.
Partager