Import données XML -> Base de données
Résolu/Fermé
Nico
-
24 janv. 2005 à 14:05
aure19911
aure19911
- Messages postés
- 41
- Date d'inscription
- mercredi 30 décembre 2009
- Statut
- Membre
- Dernière intervention
- 2 septembre 2014
A voir également:
- Import données XML -> Base de données
- Import données XML -> Base de données ✓ - Forum - Programmation
- XML, Base de donnée? ✓ - Forum - Programmation
- Vba importer données d'un autre fichier excel - Forum - Excel
- Importer données compte google - Guide
- Importer données excel - Articles
21 réponses
Bonjour,
Pour importer un flux XML dans une base de données, le plus simple est de créer une feuille de transformation XSLT (tu trouveras un exemple ici : https://www.developpez.net/forums/d9756/autres-langages/xml-xsl-soap/xquery-sgbd/mysql-donnee-xml-vers-bdd/
Une fois que tu as créé ta feuille de transformation, tu as deux solutions :
- Soit tu associe la feuille XSLT à ton flux XML en rajoutant la ligne de code suivante vers le début de ton fichier XML :
<?xml-stylesheet href="fichier.xsl" type="text/xsl"?>
Ensuite, ouvre le fichier XML avec ton navigateur préféré (assez récent). Et là normalement il devrait effectuer la transformation et générér un beau résultat avec plein de requêtes SQL INSERT. Il ne te reste plus qu'à sauvegarder le fichier en .sql, puis à l'exécuter sur MySql avec une commande du type :
mysql -u user -p < importation.sql
- La deuxième solution est un peu plus compliquée, tu fais un petit programme, par exemple en PHP, pour transformer ta feuille (tu trouveras un exemple ici : http://ww38.laltruiste.com/document.php?url=http://www.laltruiste.com/coursphp/xsl_fonctionnement.html
Ensuite, met ton programme sur ton serveur web et tape l'adresse du style http://monserveur/monprogramme.php dans ton navigateur web.
Ici, c'est le serveur web qui va faire la transformation et le navigateur va afficher le résultat SQL. Là encore, il ne reste plus qu'à sauvegarder le fichier SQL et à l'exécuter sur ton serveur MySql.
Voilà, j'espère que cela t'aidera. @+
Druide.
Pour importer un flux XML dans une base de données, le plus simple est de créer une feuille de transformation XSLT (tu trouveras un exemple ici : https://www.developpez.net/forums/d9756/autres-langages/xml-xsl-soap/xquery-sgbd/mysql-donnee-xml-vers-bdd/
Une fois que tu as créé ta feuille de transformation, tu as deux solutions :
- Soit tu associe la feuille XSLT à ton flux XML en rajoutant la ligne de code suivante vers le début de ton fichier XML :
<?xml-stylesheet href="fichier.xsl" type="text/xsl"?>
Ensuite, ouvre le fichier XML avec ton navigateur préféré (assez récent). Et là normalement il devrait effectuer la transformation et générér un beau résultat avec plein de requêtes SQL INSERT. Il ne te reste plus qu'à sauvegarder le fichier en .sql, puis à l'exécuter sur MySql avec une commande du type :
mysql -u user -p < importation.sql
- La deuxième solution est un peu plus compliquée, tu fais un petit programme, par exemple en PHP, pour transformer ta feuille (tu trouveras un exemple ici : http://ww38.laltruiste.com/document.php?url=http://www.laltruiste.com/coursphp/xsl_fonctionnement.html
Ensuite, met ton programme sur ton serveur web et tape l'adresse du style http://monserveur/monprogramme.php dans ton navigateur web.
Ici, c'est le serveur web qui va faire la transformation et le navigateur va afficher le résultat SQL. Là encore, il ne reste plus qu'à sauvegarder le fichier SQL et à l'exécuter sur ton serveur MySql.
Voilà, j'espère que cela t'aidera. @+
Druide.
RDPnyX
26 janv. 2005 à 11:56
- Messages postés
- 157
- Date d'inscription
- lundi 29 novembre 2004
- Statut
- Membre
- Dernière intervention
- 18 avril 2005
26 janv. 2005 à 11:56
Dsl je n'ais pas de reponse, je post pour pouvoir etre informé par mail des reponses a ton sujets qui m'interesse beaucoup. et pis en postant, ça a le merite de remettre le sujet en debur de liste ^^. et donc d'esperer une reponse. merci a ceux qui sauraient repondre et qui auront la gentillesse de nous indiquer la methode.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
teebo
26 janv. 2005 à 12:46
- Messages postés
- 33478
- Date d'inscription
- jeudi 14 octobre 2004
- Statut
- Modérateur
- Dernière intervention
- 24 février 2011
26 janv. 2005 à 12:46
Salut,
Le plus simple semble être de tout charger dans un DOMTree (si les fichiers xml ne sont pas trop gros) et après de se déplacer dans la structure pour ajouter les informations à la bdd...
Le plus simple semble être de tout charger dans un DOMTree (si les fichiers xml ne sont pas trop gros) et après de se déplacer dans la structure pour ajouter les informations à la bdd...
slt
regarde:
http://www.processtext.com/abcxml.html
c'est un convertiseur,
tu converti ton fichier texte en txt ou csv et ces partie tu les insere dans ta basse mysql.
J'espere que sa va t' aider.
Si sa t'aide pas désoler.
regarde:
http://www.processtext.com/abcxml.html
c'est un convertiseur,
tu converti ton fichier texte en txt ou csv et ces partie tu les insere dans ta basse mysql.
J'espere que sa va t' aider.
Si sa t'aide pas désoler.
je sais que ce n'est pas la réponse à ta question, mais j'aimerais un coup de main. Comment as-tu converti ton tableur excel en XML ?? et quelle version d'excel ca nécessite??
Freelancer
7 déc. 2006 à 17:56
- Messages postés
- 36
- Date d'inscription
- jeudi 18 septembre 2003
- Statut
- Membre
- Dernière intervention
- 25 novembre 2007
7 déc. 2006 à 17:56
Bonjour,
J'ai la meme problématique. Intègrer des données XML dans une base de données relationnelle du type mysql.
j'ai vu :
https://www.altova.com/mapforce/download
mais pas encore testé
J'ai la meme problématique. Intègrer des données XML dans une base de données relationnelle du type mysql.
j'ai vu :
https://www.altova.com/mapforce/download
mais pas encore testé
tu doit utiliser la fonction Regex pour extraire les champs qui correspondent au format que tu veut sauvegarder dans la base de donnée
moi je stocke mes donnees xml dans des fichiers txt (avec l'entet mentionne ci-haut) et apres j'y accede par une simple requete en regex et voila pas de sql ni de tableur et c'est aussi rapide.
bonjour, je voudrais savoir qu'elle est la différence entre une base de donnée et un web service? et quel est l'inconvénient d'une base de donnée par apport au web service? qu'apporte de plus un web service ?
merci de me répondre le plus vite possible
merci de me répondre le plus vite possible
salut dans mon projet j'ai besoin d'avoire le fonction utiliser en php qui permet d' inserer des donnees d'un flux xml dans la base de donnees mysql
parissain
13 juil. 2007 à 10:33
- Messages postés
- 129
- Date d'inscription
- jeudi 8 mars 2007
- Statut
- Membre
- Dernière intervention
- 24 août 2007
13 juil. 2007 à 10:33
Moi c un peu différent,
(je sais je napporte pas de solution, mais je mincruste pour savoir si vous avez une idée)
je doit transfomer mon fichier XML en un programme C ou C++
qlqun a une idée SVP ?
Merci
(je sais je napporte pas de solution, mais je mincruste pour savoir si vous avez une idée)
je doit transfomer mon fichier XML en un programme C ou C++
qlqun a une idée SVP ?
Merci
hsamiha
29 avril 2008 à 17:03
- Messages postés
- 1
- Date d'inscription
- mardi 29 avril 2008
- Statut
- Membre
- Dernière intervention
- 29 avril 2008
29 avril 2008 à 17:03
Bonjour;
Comment je cherche à écrire dans un fichier xml avec le JSP
Comment je cherche à écrire dans un fichier xml avec le JSP
8 avril 2010 à 18:31
Voici mon post : https://forums.commentcamarche.net/forum/affich-17298979-creer-base-de-donnee-a-partir-de-fichiers-xml#p17300121
J'y ai mis les fichiers xml.
Merci d'avance