Please help Me with thing.
I have 2 tables:
#head
PARAM1 PARAM2 PARAM3
------ ------ ------
AAA BBB CCC
#body
NAME SEX EMAIL
-------------------- -------------------- --------------------
Tania Female [email protected]
Sergey male [email protected]
To make XML I am using next query:
Query:
DECLARE @XML VARCHAR(1000)
DECLARE @xmlns VARCHAR(1000)
SET @xmlns = 'http://google.example'
SET @XML =
REPLACE(
(
SELECT TOP 1
Param1 as 'Param1',
Param2 as 'Param2',
Param3 as 'Param3',
@XMLNS AS xmlns,
(
SELECT
NAME as 'NAME',
SEX as 'SEX',
EMAIL as 'EMAIL'
FROM
#body AS BODY
FOR XML PATH('BODY'),TYPE
)
FROM
#head AS HEAD
FOR XML AUTO
),' xmlns=""',''
)
SELECT CAST(@XML AS XML) AS myXML
Current Result IS:
<HEAD xmlns="http://google.example" Param1="AAA" Param2="BBB" Param3="CCC">
<BODY>
<NAME>Tania</NAME>
<SEX>Female</SEX>
<EMAIL>[email protected]</EMAIL>
</BODY>
<BODY>
<NAME>Sergey</NAME>
<SEX>male</SEX>
<EMAIL>[email protected]</EMAIL>
</BODY>
</HEAD>
Expected Result Is:
<ns0:HEAD Param1="AAA" Param2="BBB" Param3="CCC" xmlns:ns0="http://google.example">
<BODY>
<NAME>Tania</NAME>
<SEX>Female</SEX>
<EMAIL>[email protected]</EMAIL>
</BODY>
<BODY>
<NAME>Sergey</NAME>
<SEX>male</SEX>
<EMAIL>[email protected]</EMAIL>
</BODY>
</ns0:HEAD>
Does anybody know how to reach expected Result ?