Приведите xml к varchar без сущностей - PullRequest
2 голосов
/ 28 ноября 2011

Этот код

    DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )
PRINT CAST(@x AS nvarchar(1000))

Возврат:

A & B > C

Как получить исходную строку 'A & B> C'?(без сущностей XML)

1 Ответ

4 голосов
/ 28 ноября 2011
DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )

SELECT @x.value('.', 'nvarchar(1000)')

Если вам абсолютно необходимо использовать печать, перед печатью необходимо сохранить результат из value в переменной.

DECLARE @x xml
SET @x = ( SELECT 'A & B > C' FOR XML PATH('') )

DECLARE @y nvarchar(1000)
SET @y = @x.value('.', 'nvarchar(1000)')

PRINT @y

Результат:

A & B > C
...