SQL处理的XML包含了"&"符号,怎么办?

xiaoqhuang 2008-11-03 02:34:42
示例

DECLARE @Xml XML
SET @Xml='<N>a & b</N>'

DECLARE @docHandle int
EXEC sp_xml_preparedocument @docHandle OUTPUT,@Xml
SELECT * FROM OPENXML(@docHandle,'/',2) WITH (N varchar(100))
EXEC sp_xml_removedocument @docHandle


Msg 9421, Level 16, State 1, Line 2
XML parsing: line 1, character 7, illegal name character



...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2008-11-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Yang_ 的回复:]
XML特殊字符处理:
<转化成<
>转化成>
‘转化成'
“转化成"
&转化成&
[/Quote]

//
中国风 2008-11-03
  • 打赏
  • 举报
回复
在結果集生成xml時,常遇到。。。
不記得字符時,用以上方法查看
中国风 2008-11-03
  • 打赏
  • 举报
回复
這樣轉換一下就明白了

select *
from
(SELECT '&' COL) t
FOR xml auto

/*
<t COL="&"/>

(1 個資料列受到影響)

*/
hyde100 2008-11-03
  • 打赏
  • 举报
回复
关注
Yang_ 2008-11-03
  • 打赏
  • 举报
回复
XML特殊字符处理:
<转化成<
>转化成>
‘转化成'
“转化成"
&转化成&

Mr-Jee 2008-11-03
  • 打赏
  • 举报
回复
你cdata下看可以吗?
Yang_ 2008-11-03
  • 打赏
  • 举报
回复

DECLARE @Xml XML
SET @Xml='<N>a & b</N>'

DECLARE @docHandle int
EXEC sp_xml_preparedocument @docHandle OUTPUT,@Xml
SELECT * FROM OPENXML(@docHandle,'/',2) WITH (N varchar(100))
EXEC sp_xml_removedocument @docHandle

--结果
N
----------------------------------------------------------------------------------------------------
a & b

(1 行受影响)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧