Как добавить атрибут на элемент-ориентированную для запроса Path XML

StackOverflow https://stackoverflow.com/questions/3779757

  •  04-10-2019
  •  | 
  •  

Вопрос

Я строю HTML, который будет включен в тело электронного письма и отправлено с помощью SP_SEND_DBMAIL. Я хотел бы правильно выровнять некоторые столбцы. Есть ли простой способ сделать это (короткое переписывание его с помощью XML явно)?

declare @html varchar(max)

set @html = '<table cellpadding=0 cellspacing=0 border=0>'

set @html +=  
  cast(
    (select
      'Column1' as td, '',
      'Column2' as td, '',
      'Column3' as [td align=right] /* Would like to do something like this */
    for xml path('tr')) as varchar(max)
  )

set @html += '</table>'
Это было полезно?

Решение

Это должно сделать это. Обратите внимание, что вам не нужно вручную добавлять <tr> а также </tr> Теги к вашей строке HTML. Те, которые даны вам как часть for xml path('tr'). Отказ Ты, вероятно, хотел добавить </table> до конца вместо этого.

declare @html varchar(max)

set @html = '<table cellpadding=0 cellspacing=0 border=0>'

set @html +=  
  cast(
    (select
      'Column1' as td, '',
      'Column2' as td, '',
      'right' as [td/@align], 'Column3' as td, '' 
    for xml path('tr')) as varchar(max)
  )

set @html += '</table>'

select @html

Вывод:

<table cellpadding=0 cellspacing=0 border=0><tr><td>Column1</td><td>Column2</td><td align="right">Column3</td></tr></table>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top