I am getting table rows and table data (with HTML tags) from SQL using 'FOR XML'. Is there a way I could assign CSS classes to the html tags in SQL?
What I am currently getting:
<tr><td>Name</td><td>Value</td></tr>
SQL query:
SELECT (SELECT [Name] as [td] FOR XML PATH(''), type),
(SELECT [Value] as [td] FOR XML PATH(''), type)
FROM table
FOR XML PATH('tr')
Desired output:
<tr class="test1">
<td class="test2">Name</td>
<td class="test3">Value</td>
</tr>
I know I am answering my own question, thought it may help someone else.
I'm adding class as an attribute to XML nodes which is giving me the desired output.
SELECT 'test1' AS [@class]
, ( SELECT 'test2' as [@class]
, (SELECT 'Name' FOR XML PATH(''))
FOR XML PATH('td'), type)
,(SELECT 'test3' as [@class]
, (SELECT 'Value' FOR XML PATH(''))
FOR XML PATH('td'), type)
FOR XML PATH('tr'), type
Output:
<tr class="test1"><td class="test2">Name</td><td class="test3">Value</td></tr>