Monday, March 5, 2012

xml in a tabular format in sqlserver 2008

declare @xml xml
set @xml ='
--
-- abc@gmail.com
--
--
--
--

--

--
--def@gmail.com
--
--
--
--

--

--
'
/*-----------------------------------------------------
abc@gmail.com abc 123
abc@gmail.com def 345
def@gmail.com abc 123
def@gmail.com def 345
*/


SELECT
x.v.value('../../EA[1]','varchar(100)') as EMail,
x.v.value('@Name[1]','varchar(1000)') as CAS,
x.v.value('@value[1]','varchar(1000)') as Value

FROM @xml.nodes('CampaignItems/Record/CAS/Attr') x(v)