Thursday, December 18, 2008

Get Table structure from XML in SQL Server

Get Table structure from XML in SQL Server.

Here is the script to get the table view from XML Document using OPENXML.


declare @doc varchar(1000)
declare @docHandle int
set @doc = '<Employee-Details>
     <Employee>
        <Firstname>Hariharasudhan</Firstname>
        <Lastname>Chandiramurthy</Lastname>
        <DOB>11-July-1982</DOB>
     </Employee>
     <Employee>
        <Firstname>Suguna</Firstname>
        <Lastname>Ramamurthy</Lastname>
        <DOB>02-September-1979</DOB>
     </Employee>
     <Employee>
        <Firstname>Pasupathy</Firstname>
        <Lastname>Thandavan</Lastname>
        <DOB>01-August-1982</DOB>
     </Employee>
   </Employee-Details>'
exec sp_xml_preparedocument @docHandle output, @doc
select * from openxml (@docHandle, '/Employee-Details/Employee', 1)
     with (FirstName varchar(100) './Firstname/text()'
        , LastName varchar(100) './Lastname/text()'
        , Date_Of_Birth varchar(100) './DOB/text()')

No comments: