[Résolu] Enregistrer le contenu d'un XML dans BDD Mysql

Enregistrer le contenu d'un XML dans BDD Mysql [Résolu] - PHP - Programmation

Marsh Posté le 14-03-2013 à 10:54:55    

Bonjour,
 
Voilà je dois dans un projet utiliser l'API de Elastic Email qui permet l'envoi d'email à travers leurs serveurs mais elle permet aussi de récupérer les stats d'envoies comme par exemple les adresses des personnes qui ont cliqué sur "désinscription" mais aussi les mails ouverts, les mails en spam etc...
 
Je suis en train d'essayer de récupérer la partie désinscription. Je récupère un flux XML qui est composé de telle sorte :
 

Code :
  1. <recipients>
  2.     <recipient>toto@gmail.com</recipient>
  3.     <recipient>tutu@yahoo.fr</recipient>
  4. </recipients>


 
J'ai essayé plusieurs méthodes pour lire le fichier xml récupérer et insérer le contenu dans mysql mais rien.... J'en viens à me demander si la compo du XML est bonne où si ma démarche n'est pas la bonne.
 
Dans un premier temps j'ai essayé d'afficher le contenu du fichier en utilisant simplexml en faisant ça :
 

Code :
  1. $emails = simplexml_load_file ('test.xml');
  2. foreach($emails->recipients as $emails) {
  3. echo 'email : ' ,$emails->recipient.'<br>';
  4. }


 
mais ça ne donne rien....
 
Je n'avais pas travaillé avec les fichiers xml jusque là et donc je suis un peu perdu. Si quelqu'un aurait une piste je suis preneur.
 
Merci


Message édité par milo1986 le 14-03-2013 à 11:26:59
Reply

Marsh Posté le 14-03-2013 à 10:54:55   

Reply

Marsh Posté le 14-03-2013 à 11:24:28    

Bon et bien à force de chercher j'ai trouvé donc au cas où je poste ma solution :
 

Code :
  1. $emails = simplexml_load_file ('test.xml');
  2. $xpath = '/recipients/recipient';
  3. $email = $emails->xpath($xpath) ;
  4. foreach($email as $news) {
  5. $insert="INSERT INTO UNSUSCRIBE_EMAILING VALUES ('','$news','$date2')";
  6. mysql_query($insert)or die (mysql_error());
  7. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed