This quick suggestion should get you started
😎
USE tempdb;
SET NOCOUNT ON;
;WITH SAMPLE_DATA(PrintedDate,PrintedBy,DocumentPreparedBy,Name,UserName,Remarks,IPAddress,DateCreated,AppID,AppVersion,LastLoggedin) AS
(SELECT * FROM
(VALUES
(
CONVERT(DATE,'20010123',112)
,'XYZ'
,'ABC'
,'123'
,''
,''
,'0.0.0.0'
,CONVERT(DATETIME,'20160224 18:32:11.803',112)
,'BOS'
,'0.0.3.0'
,CONVERT(DATETIME,'20160623 16:04:07.167',112)
)
) AS X(PrintedDate,PrintedBy,DocumentPreparedBy,Name,UserName,Remarks,IPAddress,DateCreated,AppID,AppVersion,LastLoggedin))
SELECT
SD.PrintedDate AS 'Header/PrintedDate'
,SD.PrintedBy AS 'Header/PrintedBy'
,SD.DocumentPreparedBy AS 'Footer/DocumentPreparedBy'
,SD.Name AS 'Report/Name'
,SD.UserName AS 'Report/UserName'
,SD.Remarks AS 'Report/Remarks'
,SD.IPAddress AS 'Report/IPAddress'
,SD.DateCreated AS 'Report/DateCreated'
,SD.AppID AS 'Report/AppID'
,SD.AppVersion AS 'Report/AppVersion'
,SD.LastLoggedin AS 'Report/LastLoggedin'
FROM SAMPLE_DATA SD
FOR XML PATH(''),ROOT('Reports');
Output
<Reports>
<Header>
<PrintedDate>2001-01-23</PrintedDate>
<PrintedBy>XYZ</PrintedBy>
</Header>
<Footer>
<DocumentPreparedBy>ABC</DocumentPreparedBy>
</Footer>
<Report>
<Name>123</Name>
<UserName></UserName>
<Remarks></Remarks>
<IPAddress>0.0.0.0</IPAddress>
<DateCreated>2016-02-24T18:32:11.803</DateCreated>
<AppID>BOS</AppID>
<AppVersion>0.0.3.0</AppVersion>
<LastLoggedin>2016-06-23T16:04:07.167</LastLoggedin>
</Report>
</Reports>