小编Ani*_*tha的帖子

XML路径表达式包含特殊字符

我正在尝试使用使用XML路径表达式的SQL从SQL Server 2008表中获取名字和姓氏。数据包含特殊字符。当我尝试sql时,出现以下错误:

FOR XML无法序列化节点“ LastName”的数据,因为它包含XML不允许的字符(0x001B)。要使用FOR XML检索此数据,请将其转换为二进制,varbinary或图像数据类型,然后使用BINARY BASE64指令

如何重写SQL以将这些字符包括在xml中(可能作为CDATA?)

SELECT  (
    SELECT  A1.FirstName
        ,   A1.LastName
    FROM    dbo.kc_consumer AS A1
    FOR  XML PATH('Consumer') , TYPE) 
     AS ConsumerData
FOR XML PATH('Element'), ROOT('Elements') 
Run Code Online (Sandbox Code Playgroud)

xml sql sql-server-2008

2
推荐指数
1
解决办法
5112
查看次数

标签 统计

sql ×1

sql-server-2008 ×1

xml ×1