将xml转换为varchar而没有实体

时间:2011-11-28 18:15:33

标签: sql-server sql-server-2008 sqlxml

此代码

    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 个答案:

答案 0 :(得分:4)

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
相关问题