I´m sorry i did not know the rules to answer something, but based on best practices we should avoid making string operations on the database side for performance that´s my understanding, beside i add some code
IF OBJECT_ID('#Tbl_TempTable') IS NULL
BEGIN
CREATE TABLE #Tbl_TempTable
(
ID INT IDENTITY
,FName VARCHAR(30)
,EnterDtm DATETIME DEFAULT GETDATE()
)
END
DECLARE @XML XML
SET @XML =
'<Root>
<PrimerNombre>Juan Valdez Calambuco</PrimerNombre>
<PrimerNombre>Juan Primero</PrimerNombre>
<PrimerNombre>Juan Segundo</PrimerNombre>
<PrimerNombre>Juan Tercero</PrimerNombre>
<PrimerNombre>Juan Cuarto</PrimerNombre>
<PrimerNombre>Juan Quinto</PrimerNombre>
<PrimerNombre>Juan Sexto</PrimerNombre>
<PrimerNombre>Juan Septimo</PrimerNombre>
<PrimerNombre>Juan Octavo</PrimerNombre>
</Root>
'
INSERT INTO #Tbl_TempTable (FName)
SELECT T.c.value('.','VARCHAR(30)') from @XML.nodes('//Root/PrimerNombre') T(c)
SELECT * FROM #Tbl_TempTable
let me know if it works, if not i will try to provide a better solutions thanks