Querying XML data in SQL – XML Path

Below code shows 1.retrieving the data using XML path and 2.querying the XML data using TSQL. I referred AdventureWorks database tables in the example.
--Generates XML data and inserts into the XML column.
declare @a table(sno int,sname xml)
Insert into @a(sno,sname)
Select 1,(Select FirstName,LastName,PhoneNumber
from Person.Person Left Outer Join Person.PersonPhone
on Person.BusinessEntityID=PersonPhone.BusinessEntityID
where Person.BusinessEntityID<6 for XML Path('PersonDetails'))

--Verify the data
Select * from @a

--TSQL Query to get the output from the XML column
Select sno,Person.Name.value('./FirstName[1]','varchar(20)') as [FirstName],
Person.Name.value('./LastName[1]','varchar(20)') as [LastName],
Person.Name.value('./PhoneNumber[1]','varchar(20)') as [PhoneNumber]
from @a cross apply sname.nodes('/PersonDetails') as Person(Name)

Output: ForXmlPath