繁体   English   中英

在 SQL 请求中生成具有多个属性的 HTML 标记

[英]Generate HTML tag with more than one attribute in SQL request

您能否帮助我了解如何生成具有多个属性的 XML/HTML

我有这个 SQL 代码

select
    [td/@align] = 'center', td = format(GETDATE(),'dd.MM.yyyy'), null
for xml path('tr')

此代码作为其结果返回:

<tr>
  <td align="center">16.09.2020</td>
</tr>

我需要

<tr>
  <td align="center" style="background-color: red;">16.09.2020</td>
</tr>

无法找到如何做到这一点...

如果我尝试使用这样的[td/@align/@style] - SQL 导致错误

列名“td/@align/@style”包含 FOR XML 要求的无效 XML 标识符; '@'(0x0040) 是第一个出错的字符

你在找这个吗:

select 'center' AS [td/@align]
       ,'background-color: red;'  AS [td/@style]
       ,format(GETDATE(),'dd.MM.yyyy') AS [td]       
for xml path('tr')

它产生了这个:

<tr>
    <td align="center" style="background-color: red;">16.09.2020</td>
</tr>

您可以将一行列视为 xml 标记值和属性,它们使用别名AS进行分组。 因此,对于更多属性,只需添加具有相应别名的新值 - td/@...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM