Remplir BDD mysql a partir d'un fichier XML

Remplir BDD mysql a partir d'un fichier XML - PHP - Programmation

Marsh Posté le 25-07-2008 à 09:54:29    

Bonjour :)
 
je dispose d'un fichier XML de la forme suivante :

Code :
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <PROJET name="toto">
  3.   <REP name="" root="1">
  4.     <REP name="jeannotlapin" root="0">
  5.       <FICHIER name="toto" ext="txt" datecreation="21/07/2008 12:24:45" />
  6.     </REP>
  7.     <FICHIER name="toto1" ext="txt" datecreation="21/07/2008 14:55:05" />
  8.     <FICHIER name="toto2" ext="exe" datecreation="21/07/2008 23:59:59" />
  9.   </REP>
  10. </PROJET>


et il faudrait que je m'en serve pour remplir une bdd (ici: mysql) contenant les tables PROJET (champs présents dans la table: id_projet (auto_increment) et nom_projet), REPERTOIRE (champs présents dans la table: id_repertoire (auto_increment), nom_repertoire, id_projet, is_root) et FICHIER (champs présents: id_fichier (auto_increment), nom_fichier, id_repertoire, id_projet, extension_fichier, date_creation)
 
Ma question: est il plus simple que je créé les objets php PROJET, REPERTOIRE et FICHIER, et qu'ensuite, une fois ces objets remplis, je m'en serve pour remplir ma BDD, ou bien je remplis direct ma bdd à la lecture du Xml?
 
Si, par hasard, je n'ai pas été assez clair... ben désolé :)


---------------
arg(z) = pi /2 donc z = i, moi je prends pas
Reply

Marsh Posté le 25-07-2008 à 09:54:29   

Reply

Marsh Posté le 25-07-2008 à 12:11:35    

tu peux extraire les données de ton XML avec Magpie par exemple puis les enregistrer dans ta BDD

Reply

Marsh Posté le 25-07-2008 à 17:41:14    

si tu passes par du XSLT ?

Reply

Marsh Posté le 25-07-2008 à 17:49:28    

pour le XSLT, je connaissais pas :-) merci !
je n'aurais qu'une question: ça m'oblige à exporter les fichiers Xml vers le format XSLT, puis ensuite, à partir du XSLT, remplir mes tables?
 
j'pense que je vais faire simple: considérer que le fichier est un fichier texte, je lis chaque ligne, une petite regexp bien sentie, et hop, ça va rouler.
En tout cas merci!


---------------
arg(z) = pi /2 donc z = i, moi je prends pas
Reply

Marsh Posté le 25-07-2008 à 17:51:43    

J'suis pas un expert la dedans, mais en gros le XSLT (que tu indiques dans le début du fichier XML) te permettra de faire ton regexp on va dire mais de facon propre.
C'est une sorte de dictionnaire, qui va te dire comme chaque balise, qu'est ce qu'on doit faire apparaitre ou un truc du genre.
 
Sinon sous php5 il est super fort avec le XML, y a moyen de faire un truc rapide

Reply

Marsh Posté le 25-07-2008 à 17:54:43    

Probleme: le fichier xml m'est fourni comme ça direct...
 
le probleme sera réglé en 2 temps... 3 mouvements.


---------------
arg(z) = pi /2 donc z = i, moi je prends pas
Reply

Sujets relatifs:

Leave a Replay

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