Bonjour à tous,

J'ai un petit soucis en XML!

Pour explication:
>> j'ai un fichier products.xml dans lequel j'ai 200 produits dans une dizaine de catégories différentes (ex: vetement, chaussure...)
Comme je n'ai qu'un fichier je suis obligé de poser une condition pour avoir sur ma page "vetement" que les produits dans cette catégorie.
J'ai donc pensé à ajouter dans l'URL une cat=vetment comme ceci:
produit.php?cat=vetement... mais je ne sais pas comment l'intégrer dans le code source
La case NAME correspond à la catégorie.

Voici mon code...

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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
 
<?php 
 
 
 
 
 
    $fichier = "xml/products.xml"; 
 
 
 
   function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs) 
 
    { 
 
        global $derniereBaliseRencontree; 
 
 
 
        $derniereBaliseRencontree = $nomBalise; 
 
    } 
 
 
 
    function fonctionBaliseFermante($parseur, $nomBalise) 
 
    { 
 
        global $derniereBaliseRencontree; 
 
        $derniereBaliseRencontree = ""; 
 
    } 
 
 
 
    function fonctionTexte($parseur, $texte) 
 
    { 
        global $derniereBaliseRencontree; 
 
      switch ($derniereBaliseRencontree) { 
 
         case "NAME": 
 
            echo "<p class='libelle'>"Catégorie ".$texte."</p>"; 
           
             
             
         //case "PRODUCTTYPE": 

            //echo "<p class='libelle'>".$texte."</p>"; 

            //break;    
             

         case "PRODUCT_URL": 


            echo "<span class='table'><span><a href='".$texte."'>"; 

            break; 
             

         case "BIG": 

            echo "<img src='".$texte."' border='0'/></a></span>\n"; 

            break; 
             

         //case "PRICE": 

            //echo "<p class='libelle'>".$texte." €</p>\n\n\n\n"; 

            //break; 
             

         /*case "TEXTE_LANCEUR_COFFRET": 

            $max=30;  

            if(strlen($texte)>=$max){$texte=substr($texte,0,$max);  

            $espace=strrpos($texte," ");  

            $texte=substr($texte,0,$espace)."..."; } 

            echo "<p>".$texte."</p>\n"; 

            break;*/ 


         case "FIN": 

            echo "</div></div>\n\n"; 

            break; 

      } 
    } 

    

    

    



    $parseurXML = xml_parser_create(); 



    xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante", "fonctionBaliseFermante"); 

    xml_set_character_data_handler($parseurXML, "fonctionTexte"); 



    $fp = fopen($fichier, "r"); 

    if (!$fp) die("Impossible d'ouvrir le fichier XML"); 



    while ( $ligneXML = fgets($fp, 1024)) { 

        xml_parse($parseurXML, $ligneXML, feof($fp)) or 

            die("Erreur XML"); 

    } 

    

    xml_parser_free($parseurXML); 

    fclose($fp); 

?>


Merci pour votre aide
Vincent