Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere la versione sicura per XML di una colonna XML del server sql

Non è una risposta diretta a questa domanda, ma a chiunque tenti di eseguire l'escape di stringhe xml in TSQL, ecco una piccola funzione che ho scritto:

CREATE FUNCTION escapeXml 
(@xml nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
    declare @return nvarchar(4000)
    select @return = 
    REPLACE(
        REPLACE(
            REPLACE(
                REPLACE(
                    REPLACE(@xml,'&', '&')
                ,'<', '&lt;')
            ,'>', '&gt;')
        ,'"', '&quot;')
    ,'''', '&#39;')

return @return
end
GO