How to Insert xml data into SQL Server table?

sql-server

Solution

Try this:

DECLARE @input XML = '<dataset> 
 <metadata>
  <item name="NAME_LAST" type="xs:string" length="62" /> 
  <item name="NAME_FIRST" type="xs:string" length="62" /> 
  <item name="NAME_MIDDLE" type="xs:string" length="32" />
 </metadata>
<data>
<row>
 <value>SMITH</value> 
 <value>MARY</value> 
 <value>N</value> 
</row>
<row>
 <value>SMITH2</value> 
 <value>MARY2</value> 
 <value>N2</value> 
</row>
</data>
</dataset>'

INSERT INTO dbo.YourTable(ColName, ColFirstName, ColOther)
   SELECT
      Name = XCol.value('(value)[1]','varchar(25)'),
      FirstName = XCol.value('(value)[2]','varchar(25)'),
      OtherValue = XCol.value('(value)[3]','varchar(25)')
   FROM 
      @input.nodes('/dataset/data/row') AS XTbl(XCol)

Problem

How to import below XML data into SQL Server table with three columns? ``` <dataset> <metadata> <item name="NAME_LAST" type="xs:string" length="62" /> <item name="NAME_FIRST" type="xs:string" length="62" /> <item name="NAME_MIDDLE" type="xs:string" length="32" /> </metadata> <data> <row> <value>SMITH</value> <value>MARY</value> <value>N</value> </row> <row> <value>SMITH2</value> <value>MARY2</value> <value>N2</value> </row> </data> </dataset> ```

Original source