生成HTML与SQL查询
我有表,其中的内容有HTML值,并试图与生成HTML与SQL查询
<ul> <li>
将它们串联我在下面的查询
CREATE TABLE #T(Value varchar(1000)) INSERT INTO #T
values('<p><b>AA</b> something 1</p>'),('<p><b>BB</b> something 2</p>'),('<p><b>CC</b> something 3</p>')
select *
from #T
SELECT '<ul>' +STUFF((SELECT '<li>' + Value + '</li>'
FROM #T
FOR XML PATH('')), 1, 0, '') + '</ul>' AS Notes
使用反正是有得到HTML,因为它是,这样输出将是如下面
<ul> <li><p><b>AA</b> something 1</p></li>
<li><p><b>BB</b> something 2</p></li>
<li><p><b>CC</b> something 3</p></li>
</ul>
不像
<ul><li><p><b>AA</b> something 1</p></li><li><p><b>BB</b> something 2</p></li><li><p><b>CC</b> something 3</p></li></ul>
回答:
您得到的结果是这样的,因为没有>和<符号(以及和符号,双引号和Apostrophy)不能以XML原样存储,所以它会被转换为一些代码如& lt;为<。
只是包装说明用替换功能,以取代<和>符号
CREATE TABLE #T(Value varchar(1000)) INSERT INTO #T
values('<p><b>AA</b> something 1</p>'),('<p><b>BB</b> something 2</p>'),('<p><b>CC</b> something 3</p>')
;with html
as
(
SELECT '<ul>' +STUFF((SELECT '<li>' + Value + '</li>'
FROM #T
FOR XML PATH('')), 1, 0, '') + '</ul>' AS Notes
)
select
Notes = REPLACE(REPLACE(Notes,'<','<'),'>','>')
from html
以上是 生成HTML与SQL查询 的全部内容, 来源链接: utcz.com/qa/262287.html