当我编写查询以生成xml标记时,我想在我的sql查询中保留html标记。 例如:
select '<p> this is a code</p>' as code
from table name
for xml path (''), type
输出:
<code><p> this is a code </p> <code>
它应该输出什么:
<code><p> this is a code </p><code>
我该如何解决这个问题?谢谢!
答案 0 :(得分:4)
如果使用xhtml
,我相信转换为Xml
即可:
select convert(xml, '<p> this is a code</p>') as code
from table name
for xml path (''), type
编辑:如果列为ntext
,则支持隐式转换为Xml
:
create table #t(html ntext)
insert into #t values(N'<p> this is a code</p>')
select convert(xml, html) as code
from #t
for xml path (''), type
drop table #t
答案 1 :(得分:2)
下面的代码片段适用于我
DECLARE @HTMLt NVARCHAR(MAX) ;
........
SET @HTMLt = REPLACE(REPLACE(REPLACE(@HTMLt,'&','&' ) , '<','<'),'>','>');