I found the answer from the link.
;WITH XMLNAMESPACES ('www.microsoft.com/SqlServer/Dts' as DTS,'www.microsoft.com/sqlserver/dts/tasks/sqltask' as SQLTask)
SELECT
v.x.value('(@SQLTask:TaskName)','varchar(1000)') as TaskName,
COALESCE(v.x.value('@SQLTask:BackupDestinationAutoFolderPath','varchar(1000)'),v.x.value('@SQLTask:FolderPath','varchar(1000)')) as FolderPath,
COALESCE(v.x.value('@SQLTask:BackupFileExtension','varchar(1000)'),v.x.value('@SQLTask:FileExtension','varchar(1000)')) as Extension,
v.x.value('@SQLTask:DeleteSpecificFile','BIT') AS Del_Specific_File,
v.x.value('@SQLTask:AgeBased','BIT') AS Aged_Based_Del,
'DELETE backups older than ' + v.x.value('@SQLTask:RemoveOlderThan','VARCHAR(3)') +
CASE v.x.value('@SQLTask:TimeUnitsType','VARCHAR(10)') --0=Daily,1=Weekly,2=Monthly,3=Yearly,5=Hourly
WHEN 0 THEN ' Day(s)'
WHEN 1 THEN ' Week(s)'
WHEN 2 THEN ' Month(s)'
WHEN 3 THEN ' Year(s)'
WHEN 4 THEN ' Minute(s)'
WHEN 5 THEN ' Hour(s)'
END AS Del_Freqency,
v.x.value('@SQLTask:CleanSubFolders','BIT') AS Del_Sub_Folder,
STUFF(
(
SELECT ', ' + QUOTENAME(db.i.value('@SQLTask:DatabaseName','VARCHAR(100)'))
FROM cte.PackageCode.nodes('/DTS:Executable/DTS:Executable/DTS:Executable/DTS:ObjectData/SQLTask:SqlTaskData/SQLTask:SelectedDatabases') db(i)
WHERE db.i.value('../@SQLTask:TaskName','varchar(1000)') = v.x.value('(@SQLTask:TaskName)','varchar(1000)')
FOR XML PATH(''),TYPE
).value('.','VARCHAR(MAX)')
,1,2,'') AS Selected_DBs
FROM(
SELECT [name] as PackageName, CAST(CAST(packagedata AS VARBINARY(MAX)) AS XML) as PackageCode
FROM msdb.dbo.sysssispackages main
WHERE main.name = 'Backups'
)AS cte
CROSS APPLY cte.PackageCode.nodes('/DTS:Executable/DTS:Executable/DTS:Executable/DTS:ObjectData/SQLTask:SqlTaskData') v(x)