【发布时间】:2016-08-30 08:48:42
【问题描述】:
我正在从存储过程生成 html,但它会将 html 标签编码为“”或“&”。我在生成标签时需要标签。我已尝试使用 [CDATA],但没有得到预期的结果。
select '<ul class=''downloaditems-grid''>'+(
select stuff(
(
select '<li>'+ convert(nvarchar(max),Filepath) +'</li>'
from(
select ('<p>'+UploadDocumentName+'</p><a target=''_blank'' class=''ml10'' href='''+DocumentFilePath+'''title=''Download''>') As Filepath from table1 CLRD
where
isnull(CLRD.IsDeleted,0) <> 1 and orderid=2
)
as T for xml path('')),1,2,'')) +' </ul>' a
返回
<ul class='downloaditems-grid'>t;li><P>bill.png</><a target='_blank' class='ml10' href='2c0a7c0c-d228-4f5d-9a8f-eb32911509db.png'title='Download'></li> </ul>
但我的要求是:
<ul class='downloaditems-grid'>
<li><p>bill.png</p>
<a target='_blank' class='ml10' href='2c0a7c0c-d228-4f5d-9a8f-eb32911509db.png' title='Download'>
</a>
</li>
</ul>
表结构
除了使用replace我在创建html标签时如何在那里解码之外,任何人都可以提供一些提示吗?
【问题讨论】:
-
你使用哪种服务器端语言从html访问sql server?为什么不使用那种语言来构建 html?
-
我正在使用 C#,但我正在存储过程中尝试这个。是的,我可以用 C# 或脚本语言做这件事,但想要在 sp(sql-server) 中。如何防止在 html 查询中编码标签?
-
您应该(几乎)从不通过连接字符串来创建 XML。如果您的字符串包含禁止字符,您将下地狱。您可能会欺骗,但如果可能的话,您应该正确构建 XML。并且比存储过程更好地使用标量函数。这更容易查询...
标签: html sql sql-server xml tsql