Extraire datatables XML et charger dans la database (approches possibles)

Mon homologue nous a fourni un exemple de file XML et nous faisons une preuve de concept pour savoir si datatables du file peuvent être imscopes dans une database.

Le file XML est montré comme suit:

<?xml version="1.0" encoding="UTF-8" ?> <xmloutfile> <header> <TYPE>XLFT</TYPE> <DN>C001</DN> </header> <table> <row> <column></column> <column></column> <column></column> <column></column> <column></column></row> <row> <column></column> <column></column> <column></column> <column></column> <column></column></row> <row> <column>ID</column> <column>Title</column> <column>Type</column> <column>Country</column> <column></column></row> <row> <column>12345</column> <column>ABC</column> <column>SN</column> <column>Hong Kong</column> <column></column></row> <row> <column>17777</column> <column></column> <column>MO</column> <column>China</column> <column></column></row> <row> <column></column> <column></column> <column></column> <column></column> <column></column></row></table></xmloutfile> 

Ce qui nous intéresse, ce sont les valeurs d' ID, Titre, Type, Pays (et peut-être une remarque)

 <column>ID</column> <column>Title</column> <column>Type</column> <column>Country</column> <column></column></row> <row> <column>12345</column> <column>ABC</column> <column>SN</column> <column>Hong Kong</column> <column></column></row> 

Imaginez que c'est un tableau général, comment pourrais-je insert ces données en conséquence?

Finalement, je voudrais le faire en utilisant SSIS mais en ce moment (ce serait bien si je peux le faire via SSIS!), Mais je veux juste évaluer toutes les approches possibles. Tks

XQuery:

 declare @x xml ='<xmloutfile> <header> <TYPE>XLFT</TYPE> <DN>C001</DN> </header> <table> <row> <column></column> <column></column> <column></column> <column></column> <column></column> </row> <row> <column></column> <column></column> <column></column> <column></column> <column></column> </row> <row> <column>ID</column> <column>Title</column> <column>Type</column> <column>Country</column> <column></column> </row> <row> <column>12345</column> <column>ABC</column> <column>SN</column> <column>Hong Kong</column> <column></column> </row> <row> <column>17777</column> <column></column> <column>MO</column> <column>China</column> <column></column> </row> <row> <column></column> <column></column> <column></column> <column></column> <column></column> </row> </table> </xmloutfile>' select tcvalue('column[1]', 'nvarchar(max)') , tcvalue('column[2]', 'nvarchar(max)') , tcvalue('column[3]', 'nvarchar(max)') , tcvalue('column[4]', 'nvarchar(max)') , tcvalue('column[5]', 'nvarchar(max)') from @x.nodes('//row') t(c)