IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[XML] Valeur XML dans une variable PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 54
    Points : 26
    Points
    26
    Par défaut [XML] Valeur XML dans une variable PHP
    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);
    ?>

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    pour analyser le code XML, essaye plutôt SimpleXML :
    http://php.net/simplexml.examples-basic

Discussions similaires

  1. Stocker XML dans une variable PHP
    Par Invité dans le forum Langage
    Réponses: 13
    Dernier message: 31/03/2014, 15h34
  2. Récupérer une valeur d'un xml dans une variable
    Par FANDENEGI dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/03/2013, 20h41
  3. Récupérer la valeur d'un champ XML dans une variable
    Par adrien357 dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 24/02/2010, 11h05
  4. [XSLT] mettre une valeur d'un XML dans une variable ?
    Par xiii34 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/04/2007, 18h14
  5. Utiliser la valeur d'un input dans une variable php
    Par megane dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 16h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo