Importer un fichier XML dans une table ACCESS 2013

Fermé
FNJD Messages postés 6 Date d'inscription mardi 19 novembre 2013 Statut Membre Dernière intervention 9 mai 2014 - 9 mai 2014 à 17:09
PipoWIL Messages postés 21 Date d'inscription lundi 5 mai 2014 Statut Membre Dernière intervention 19 juin 2022 - 11 mai 2014 à 18:54
Bonjour

Comment puis je importer dans une seule table un fichier XML.
Pour cela j'utilise Access 2013
Lorsque j'utilise "EXTERNAL DATA + XML File" , j'ai autant de table créé qu'il y a de balise (on dit bien balise ?).
Ci dessous les differentes "balises" presentent dans le fichier XML ce qui fait qu'apres importation j'ai les tables suivantes qui ont été créés :
Table CARDGEN
Table CARDSUM
Table PRODUCT
etc etc

-<CARDGEN>
+<CARDSUM>
-<PRODUCT>
-<RECORD>
+<CARRIER>
+<CARD>
</RECORD>
+<RECORD>
+<RECORD>
</PRODUCT>
</CARDGEN>

Je souhaiterais obtenir une table unique, de maniere a avoir un fichier plat. Je sais que l'on peux facilement le faire avec Excel 2013.

Désolé si mes termes ne sont pas totalement adaptés au XML je ne connais pas trop ce language.

Merci de votre aide.
A voir également:

1 réponse

PipoWIL Messages postés 21 Date d'inscription lundi 5 mai 2014 Statut Membre Dernière intervention 19 juin 2022 2
11 mai 2014 à 18:54
Bonjour,
MS Access n'est pas un champion de l'XML.
Pour ce que j'ai pu en voir jusqu'à pésent, MS Access importe correctement un fidhier XML SIMPLE. quand je dis 'simple', c'est même tres simple... avec une arborescence à un seul niveau du genre :
<Racine>
<Elem1>Tata</Elem1>
<Elem2>Toto</Elem2>
</Racine>
et pour cela J'utilise une commande VBA du genre de :
Application.ImportXML "C:\Temp\Mon_Fichier.XML", acStructureAndData

Pour faire mieux, je suis obligé de passer à du DOM XML et on arrive un degré de complexité nettement supérieur.

Si tu connais XSLT, tu peux écrire une transformation de ton fichier pour le transformer en un fichier plus simple et ensuite importer ce fichier plus simple. (Cela reste lourd...)

Si tu trouves un autre moyen, dis le cela m'intéresse !
0