Het wil wel eens gebeuren dat je XML in een database hebt opgeslagen (nog niet als het type XML, maar gewoon in een nvarchar). Query je dit uit de database dan kon dit nog wel eens een ongeldige XML opleveren. Door dat via deze function te laten lopen weet je zeker dat het kan parsen als XML:
CREATE function [dbo].[StringToXml](@stringVal as nvarchar(max)) returns nvarchar(max) as
begin
DECLARE @xml_var nvarchar(max)
SET @xml_var =
(
select @stringVal as "@dummy_xnohexhere" for xml path('test')
)
return SUBSTRING( @xml_var, 25, LEN(@xml_var) -27)
end