Bonjour, je souhaiterais récupérer la valeur contenu entre 2 valise XML, et la mettre dans une variable php.

je passe par un switch mais je sais que ce n'est pas la bonne méhode....

je voudrais pouvoir réexploiter la valeur contenu dans cette variable, voila pourquoi je doit récupérer chaque valeur dans une varibale séparé.
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
<?php
    $fichier = "catalogue.xml";
 
  //fonction de traitement des balises ouvrantes
    function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
    {
        //  mémorisation du nom de la balise
        // afin d'en tenir compte dans la fonction "fonctionTexte"
 
        global $derniereBaliseRencontree;
 
        $derniereBaliseRencontree = $nomBalise;
    }
 
    //  fonction de traitement des balises fermantes
    function fonctionBaliseFermante($parseur, $nomBalise)
    {
        // On oublie la dernière balise rencontrée
        global $derniereBaliseRencontree;
 
        $derniereBaliseRencontree = "";
    }
 
    // fonction de traitement du texte qui est appelée par le "parseur"
    function fonctionTexte($parseur, $texte)
    {
        global $derniereBaliseRencontree;
 
        // Selon les cas, nous affichons le texte ou nous proposons un lien
 
        global $desc;
		$photo=$texte;
		$ref=$texte;
		$lien=$texte;
		$descC=$texte;
		$desc=$texte;
        switch ($derniereBaliseRencontree) {
            case "REF": 
                echo $ref;
                break;
            case "LINK":
                echo ":<a href=\"$lien\">liens RS</a><br />";
                break;
			case "PHOTO": 
                echo ":<a href=\"$photo\">Photo</a><br />";
                break;
			case "DESCRIPTIF_COURT": 
                echo $descC;
                break;
			case "DESCRIPTIF": 
                echo $desc;
                break;
        }         
    }
    // Création du parseur XML
    $parseurXML = xml_parser_create();
 
    //nom des fonctions à appeler lorsque des balises ouvrantes ou fermantes sont rencontrées
    xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante"
                                       , "fonctionBaliseFermante");
 
    //  le nom de la fonction à appeler lorsque du texte est rencontré
    xml_set_character_data_handler($parseurXML, "fonctionTexte");
 
    // Ouverture du fichier
    $fp = fopen($fichier, "r");
    if (!$fp) die("Impossible d'ouvrir le fichier XML");
 
    // Lecture ligne par ligne
    while ( $ligneXML = fgets($fp, 1024)) {
        // Analyse de la ligne
        // REM: feof($fp) retourne TRUE s'il s'agit de la dernière
        //      ligne du fichier.
        xml_parse($parseurXML, $ligneXML, feof($fp)) or
            die("Erreur XML");
    }
 
 
    xml_parser_free($parseurXML);
    fclose($fp);
?>