Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1143 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer valeur entre balise XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer valeur entre balise XML

n°1894410
maktu
Posté le 12-06-2009 à 11:50:54  profilanswer
 

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 :
  1. <?php
  2.     $fichier = "catalogue.xml";
  3.   //fonction de traitement des balises ouvrantes
  4.     function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
  5.     {
  6.         //  mémorisation du nom de la balise
  7.         // afin d'en tenir compte dans la fonction "fonctionTexte"
  8.         global $derniereBaliseRencontree;
  9.         $derniereBaliseRencontree = $nomBalise;
  10.     }
  11.  
  12.     //  fonction de traitement des balises fermantes
  13.     function fonctionBaliseFermante($parseur, $nomBalise)
  14.     {
  15.         // On oublie la dernière balise rencontrée
  16.         global $derniereBaliseRencontree;
  17.         $derniereBaliseRencontree = "";
  18.     }
  19.     // fonction de traitement du texte qui est appelée par le "parseur"
  20.     function fonctionTexte($parseur, $texte)
  21.     {
  22.         global $derniereBaliseRencontree;
  23.        
  24.         // Selon les cas, nous affichons le texte ou nous proposons un lien
  25.      
  26.         global $desc;
  27.  $photo=$texte;
  28.  $ref=$texte;
  29.  $lien=$texte;
  30.  $descC=$texte;
  31.  $desc=$texte;
  32.         switch ($derniereBaliseRencontree) {
  33.             case "REF":
  34.                 echo $ref;
  35.                 break;
  36.             case "LINK":
  37.                 echo ":<a href=\"$lien\">liens RS</a><br />";
  38.                 break;
  39.   case "PHOTO":
  40.                 echo ":<a href=\"$photo\">Photo</a><br />";
  41.                 break;
  42.   case "DESCRIPTIF_COURT":
  43.                 echo $descC;
  44.                 break;
  45.   case "DESCRIPTIF":
  46.                 echo $desc;
  47.                 break;
  48.         }       
  49.     }
  50.     // Création du parseur XML
  51.     $parseurXML = xml_parser_create();
  52.     //nom des fonctions à appeler lorsque des balises ouvrantes ou fermantes sont rencontrées
  53.     xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante"
  54.                                        , "fonctionBaliseFermante" );
  55.     //  le nom de la fonction à appeler lorsque du texte est rencontré
  56.     xml_set_character_data_handler($parseurXML, "fonctionTexte" );
  57.     // Ouverture du fichier
  58.     $fp = fopen($fichier, "r" );
  59.     if (!$fp) die("Impossible d'ouvrir le fichier XML" );
  60.     // Lecture ligne par ligne
  61.     while ( $ligneXML = fgets($fp, 1024)) {
  62.         // Analyse de la ligne
  63.         // REM: feof($fp) retourne TRUE s'il s'agit de la dernière
  64.         //      ligne du fichier.
  65.         xml_parse($parseurXML, $ligneXML, feof($fp)) or
  66.             die("Erreur XML" );
  67.     }
  68.    
  69.     xml_parser_free($parseurXML);
  70.     fclose($fp);
  71. ?>

mood
Publicité
Posté le 12-06-2009 à 11:50:54  profilanswer
 

n°1894443
elbow
Posté le 12-06-2009 à 13:36:34  profilanswer
 

Tu es sous PHP 4 ? Sinon SimpleXML est direct.

n°1894472
maktu
Posté le 12-06-2009 à 14:18:25  profilanswer
 

php5 , j'vais regarder merci

n°1894527
maktu
Posté le 12-06-2009 à 15:22:34  profilanswer
 

j'ai regarder des exemple je comprend le principe mais il récupère tjrs des valeur entre plusieur balise....
je ne sais pas comment récupérér simplement la valeur entre 2 balise...par exemple
<produit>
<categorie>Connectique</categorie>
</produit>

n°1895130
rufo
Pas me confondre avec Lycos!
Posté le 15-06-2009 à 13:06:14  profilanswer
 

y'a plusieurs lib XML en PHP : libXML, expat, DOM, simpleXML...
 
http://fr3.php.net/manual/fr/book.xml.php


Message édité par rufo le 15-06-2009 à 13:07:00

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer valeur entre balise XML

 

Sujets relatifs
[Résolu] XML UTF-8 > Java String decodageTransmission de valeur depuis formulaire vers BDD
garder la Valeur d'une liste de choixRecupérer texte d'une zone de texte, sur une image
struts validator : valeur d'un champ dans le message d'erreurServlet:Comment récuperer tous les élements qui ne sont pas selectionn
Faire un cumul meme si 1 valeur est absente.Récupérer le code source d'une page html différente
Fixer la valeur d'un élément de type complexe dans un schéma XML[XML] Récuperer la valeur maximale contenue dans une balise
Plus de sujets relatifs à : Récupérer valeur entre balise XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR