Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie die xml-sichere Version einer SQL-Server-XML-Spalte

Es ist keine direkte Antwort auf diese Frage, aber für jeden, der versucht, Zeichenfolgen in TSQL mit XML-Escapezeichen zu versehen, hier ist eine kleine Funktion, die ich geschrieben habe:

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