• <bdo id='ixZNG'></bdo><ul id='ixZNG'></ul>

    1. <i id='ixZNG'><tr id='ixZNG'><dt id='ixZNG'><q id='ixZNG'><span id='ixZNG'><b id='ixZNG'><form id='ixZNG'><ins id='ixZNG'></ins><ul id='ixZNG'></ul><sub id='ixZNG'></sub></form><legend id='ixZNG'></legend><bdo id='ixZNG'><pre id='ixZNG'><center id='ixZNG'></center></pre></bdo></b><th id='ixZNG'></th></span></q></dt></tr></i><div id='ixZNG'><tfoot id='ixZNG'></tfoot><dl id='ixZNG'><fieldset id='ixZNG'></fieldset></dl></div>
      1. <small id='ixZNG'></small><noframes id='ixZNG'>

        <legend id='ixZNG'><style id='ixZNG'><dir id='ixZNG'><q id='ixZNG'></q></dir></style></legend>

        <tfoot id='ixZNG'></tfoot>

        使用 xquery 转换为 html?

        时间:2023-06-05

      2. <tfoot id='oMpFU'></tfoot>

          • <i id='oMpFU'><tr id='oMpFU'><dt id='oMpFU'><q id='oMpFU'><span id='oMpFU'><b id='oMpFU'><form id='oMpFU'><ins id='oMpFU'></ins><ul id='oMpFU'></ul><sub id='oMpFU'></sub></form><legend id='oMpFU'></legend><bdo id='oMpFU'><pre id='oMpFU'><center id='oMpFU'></center></pre></bdo></b><th id='oMpFU'></th></span></q></dt></tr></i><div id='oMpFU'><tfoot id='oMpFU'></tfoot><dl id='oMpFU'><fieldset id='oMpFU'></fieldset></dl></div>

                • <bdo id='oMpFU'></bdo><ul id='oMpFU'></ul>

                  <small id='oMpFU'></small><noframes id='oMpFU'>

                  <legend id='oMpFU'><style id='oMpFU'><dir id='oMpFU'><q id='oMpFU'></q></dir></style></legend>
                    <tbody id='oMpFU'></tbody>
                  本文介绍了使用 xquery 转换为 html?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  限时送ChatGPT账号..

                  我有以下数据库电子邮件的 T-Sql.

                  I have the following T-Sql for database email.

                  -- create proc TableToHtml @table varchar(max) as
                  declare @table varchar(max) = '(select 1 a, ''one'' b union all select 2, ''two'') t '
                  declare @sql varchar(max) = '
                      declare @xml xml = (
                          select * from ' + @table + ' 
                          for xml path(''tr''), root(''table'')
                      ); 
                      select @xml'
                  declare @tmp table (x xml)
                  insert into @tmp exec(@sql) 
                  declare @x xml = (select x from @tmp)
                  select @x 
                  

                  然后它返回

                  <table>
                    <tr>
                      <a>1</a>
                      <b>one</b>
                    </tr>
                    <tr>
                      <a>2</a>
                      <b>two</b>
                    </tr>
                  </table>
                  

                  是否可以编写 xquery 让它返回以下 html?

                  Is it possible to write the xquery to let it returns the following html?

                  <table>
                    <tr>
                      <th>a</th>
                      <th>b</th>
                    </tr>
                    <tr>
                      <td>1</td>
                      <td>one</td>
                    </tr>
                    <tr>
                      <td>2</td>
                      <td>two</td>
                    </tr>
                  </table>
                  

                  推荐答案

                  我想出了一个更少黑客攻击的方案.唯一的问题是如果值为空,它将创建 而不是 .将电子邮件发送到某些旧 Outlook 客户端时会导致一些布局问题.

                  I figured out a less hacking one. The only problem is it will create <td /> instead of <td></td> if the value is null. It will cause some layout issue when the email is sent to some old Outlook clients.

                  declare @table varchar(max) = '(select 1 a, ''one'' b union all select 2, ''two'') t '
                  declare @sql varchar(max) = '
                      declare @xml xml = (
                          select * from ' + @table + ' 
                          for xml path(''tr''), root(''table'')
                      ); 
                      select @xml'
                  declare @tmp table (x xml)
                  insert into @tmp exec(@sql) 
                  declare @x xml = (select x from @tmp)
                  select @x.query('<body>
                  <table>
                    <tr>
                      {for $c in /table/tr[1]/* return element th { local-name($c) } }
                    </tr>
                    {
                      for $r in /table/* 
                      return element tr { for $c in $r/* return element td { data($c) } } 
                    }
                  </table>
                  </body>')
                  

                  这篇关于使用 xquery 转换为 html?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:删除 SQL Server 中不同级别的空 XML 标记 下一篇:FOR XML 通过树概念中的属性进行多重控制

                  相关文章

                  最新文章

                • <small id='OUrrk'></small><noframes id='OUrrk'>

                • <i id='OUrrk'><tr id='OUrrk'><dt id='OUrrk'><q id='OUrrk'><span id='OUrrk'><b id='OUrrk'><form id='OUrrk'><ins id='OUrrk'></ins><ul id='OUrrk'></ul><sub id='OUrrk'></sub></form><legend id='OUrrk'></legend><bdo id='OUrrk'><pre id='OUrrk'><center id='OUrrk'></center></pre></bdo></b><th id='OUrrk'></th></span></q></dt></tr></i><div id='OUrrk'><tfoot id='OUrrk'></tfoot><dl id='OUrrk'><fieldset id='OUrrk'></fieldset></dl></div>

                        <bdo id='OUrrk'></bdo><ul id='OUrrk'></ul>

                      <legend id='OUrrk'><style id='OUrrk'><dir id='OUrrk'><q id='OUrrk'></q></dir></style></legend>

                    1. <tfoot id='OUrrk'></tfoot>