Nie jest to bezpośrednia odpowiedź na to pytanie, ale dla każdego, kto próbuje xml-escape strings w TSQL, oto mała funkcja, którą napisałem:
CREATE FUNCTION escapeXml
(@xml nvarchar(4000))
RETURNS nvarchar(4000)
AS
BEGIN
declare @return nvarchar(4000)
select @return =
REPLACE(
REPLACE(
REPLACE(
REPLACE(
REPLACE(@xml,'&', '&')
,'<', '<')
,'>', '>')
,'"', '"')
,'''', ''')
return @return
end
GO