I actually have some code (.Net) that loads xml, csv, ... into objects.
There is also a visual drawing to help you connect the dots between the properties of the uploaded file vs. the properties of the objects.
This way, all information gets loaded into the db from a single import, in the correct table.
I could seperate it in a opensource project i suppose, if anyone is interested.