¿Cómo importar XML con nodos nesteds (relaciones padre / hijo) en Access?

Intento importar un archivo XML en Access pero crea 3 tablas no relacionadas. Es decir, los registros secundarios se importan en la tabla secundaria, pero no hay forma de saber qué registros secundarios pertenecen a qué padre.

¿Cómo puedo importar los datos para mantener la relación entre los nodos primarios y secundarios (registros)?

Aquí hay una muestra de los datos XML:

 8404180 Abalos Nuevo Francisco José   23 0888 1984-12-01 1986-09-19   14 0569 1990-09-17 1995-03-15   21 0412 1995-03-30     

Lo que debe hacer es transformar sus datos XML en un formato que funcione mejor con Access. Específicamente, debe insertar el valor de la clave principal (asumiendo que es C_NOT en este caso) en cada nodo secundario.

El siguiente archivo XSLT lo hará por usted

                        

Eso transformará tu XML de esto …

  8404180 Abalos Nuevo Francisco José   23 0888 1984-12-01 1986-09-19   14 0569 1990-09-17 1995-03-15   21 0412 1995-03-30     

… dentro de esto:

    8404180 Abalos Nuevo Francisco José  8404180 23 0888 1984-12-01 1986-09-19   8404180 14 0569 1990-09-17 1995-03-15   8404180 21 0412 1995-03-30     

… en segundo plano mientras Access lo está importando.

Guarde ese archivo XSLT en su disco duro (llamé al mío “transformio.xslt”) y luego inicie el proceso de importación de Access XML. Una vez que haya seleccionado su archivo XML para importar, haga clic en el botón “Transformar” …

ImportXmlDialog.png

… agregue su archivo XSLT recién creado a la lista y selecciónelo …

ImportTransforms.png

Cuando hace clic en “Aceptar” y vuelve al cuadro de diálogo “Importar XML”, puede expandir la vista de árbol para ver que ahora tiene valores C_NOT en ambas tablas.

ImportXml2.png

Cuando finalice la importación, aún tendrá dos tablas, pero ahora puede UNIRSE a ellas en C_NOT para obtener una vista “plana” de los datos:

QueryDesign.png

que nos da

QuerySheet.png