在SQL中将结果转换为xml时使用垃圾字符
将我的表结果转换为xml时,正在提交垃圾字符 下面是我正在使用的sql代码在SQL中将结果转换为xml时使用垃圾字符,sql,xml,sql-server-2008,Sql,Xml,Sql Server 2008,将我的表结果转换为xml时,正在提交垃圾字符 下面是我正在使用的sql代码 CREATE TABLE #tbl ( RowID INT , Comments NVARCHAR(MAX) ) ------------------------------- INSERT INTO #Tbl(RowID, Comments) VALUES (1, '&test 123123123 & test test123& ' ) INSERT INTO #Tbl(RowID, Co
CREATE TABLE #tbl
(
RowID INT
, Comments NVARCHAR(MAX)
)
-------------------------------
INSERT INTO #Tbl(RowID, Comments) VALUES (1, '&test 123123123 & test
test123&
' )
INSERT INTO #Tbl(RowID, Comments) VALUES (2, '&test 123123123 & test' )
INSERT INTO #Tbl(RowID, Comments) VALUES (3, '&test 123123123 & test
test123&
&&' )
------------------------------------
SELECT
(
SELECT distinct
RowId
,Comments AS Comments
FROM
#tbl AS t
FOR XML RAW, TYPE
)FOR XML PATH('Table'), TYPE
------------------------------------
DROP TABLE #tbl
在这方面有人能帮我吗。提前感谢。正如其他人所说,它们不是垃圾角色,它们的行为更像转义角色 就是说,为了你的目的,做一个替换
SELECT ( SELECT distinct RowId , REPLACE(Comments, '&', '&') AS Comments
FROM #tbl AS t
FOR XML RAW, TYPE )
FOR XML PATH('Table'), TYPE
您认为的垃圾字符不是垃圾字符,而是格式完美的实体编码字符,允许在注释中包含文字符号和换行符。在XML中。@ChrisDickson谢谢您的注释,您能帮助我如何删除这些字符吗。@Asif,不知道您的确切意思。。。简而言之:你不能移除它们!XML中不允许使用某些字符。但这只是一个技术问题。在所有情况下,XML都应该在某种转换后显示给用户。在那里,您将获得“原始”文本。