2012-08-06 96 views
0

我尝试将其转换成XML:TSQL XML字符逃脱

 
DECLARE @xml XML; 
SELECT @xml = (SELECT 'xxx' + nchar(0x10) FOR XML PATH('')); 

我得到错误: XML解析:1号线,字符9,非法XML字符

但是这工作得很好:

 
SELECT 'xxx' + nchar(0x10) FOR XML PATH('') 

有没有解决方法?

在MS连接没什么用处: https://connect.microsoft.com/SQLServer/feedback/details/547817/xml-type-does-not-accept-all-character-escape-sequences

+0

你期望得到什么样的xml输出?请注意,当查询包含'FOR XML'时,独立示例*不生成xml输出... – AakashM 2012-08-06 10:08:09

+0

我想将此输出保存到数据类型为xml的表中。 输出正确“ xxx ”但不能保存到分贝。 – c0d1ng 2012-08-06 10:22:29

回答

0

我认为你不能使用未包括当前的SQL Server排序规则的任何字符分配给XML变量。