Comment importer un fichier XML avec des nœuds imbriqués (relations parent/enfant) dans Access?
J'essaie d'importer un fichier XML dans l'Accès, mais il crée des 3 tables non liées. Qui est, des enregistrements de l'enfant sont importées dans la table enfant, mais il n'y a aucun moyen de savoir qui les enregistrements enfants appartiennent aux parents.
Comment puis-je importer les données de maintenir la relation entre le parent et l'enfant nœuds (enregistrements)?
Voici un exemple de données XML:
<NOTARIO>
<C_NOT>8404180</C_NOT>
<APE>Abalos Nuevo</APE>
<NOM>Francisco José</NOM>
<NOTARIAS>
<NOTARIA>
<PRO>23</PRO>
<MUN>0888</MUN>
<F_IN>1984-12-01</F_IN>
<F_FI>1986-09-19</F_FI>
</NOTARIA>
<NOTARIA>
<PRO>14</PRO>
<MUN>0569</MUN>
<F_IN>1990-09-17</F_IN>
<F_FI>1995-03-15</F_FI>
</NOTARIA>
<NOTARIA>
<PRO>21</PRO>
<MUN>0412</MUN>
<F_IN>1995-03-30</F_IN>
<F_FI></F_FI>
</NOTARIA>
</NOTARIAS>
</NOTARIO>
OriginalL'auteur AMB | 2015-05-04
Vous devez vous connecter pour publier un commentaire.
Ce que vous devez faire est de transformer vos données XML dans un format qui vous convient le mieux avec l'Accès. Plus précisément, vous devez insérer la clé parente de la valeur (en supposant que c'est
C_NOT
dans ce cas) dans chaque nœud enfant.Suivantes fichier XSLT va le faire pour vous
Qui va transformer votre XML à partir de ce ...
... dans ce:
... dans le fond tandis que l'Accès est de l'importation.
Enregistrer ce fichier XSLT pour votre disque dur (j'ai appelé le mien "transformio.xslt"), puis démarrez l'Accès XML processus d'importation. Une fois que vous avez sélectionné votre fichier XML à importer, cliquez sur le bouton "Transform" ...
... ajouter votre nouvellement créé fichier XSLT pour la liste et sélectionnez-le ...
Lorsque vous cliquez sur "OK" et le retour à la "Importation de données XML" boîte de dialogue, vous pouvez développez l'arborescence pour voir ce que vous avez maintenant
C_NOT
valeurs dans les deux tables.Lorsque l'importation est terminée, vous aurez toujours deux tables, mais maintenant vous pouvez les REJOINDRE sur
C_NOT
pour obtenir un "plat" affichage des données:qui nous donne
OriginalL'auteur Gord Thompson