【问题标题】:Stringbuilder vs SQL FOR XML / XSL TransformStringbuilder 与 SQL FOR XML / XSL 转换
【发布时间】:2010-06-10 13:32:42
【问题描述】:

我有一个界面,可以根据用户单击的选项卡加载文档列表。

我一直在通过 XML 从 SQL 2008 数据库中检索数据:

SELECT col1, col2 col3 FROM documents WHERE typeId = 4 FOR XML PATH('doc'), ROOT('documents')

然后使用 XSLT 样式表转换 XML。一切正常。

为了改善体验,我尝试使用 JQuery 在单击选项卡时加载文档列表。我打算将一大块 html 返回给客户端,并替换包含文档列表的 div 的 html。

我有几个选择,将 XML 从 SQL 转换为 HTML,然后将结果字符串返回给客户端

忘记 SQL XML 并使用 Stringbuilder 将数据转换为 HTML 字符串,例如:

Dim _d As New Document
Dim dt As Data.DataTable = _d.GetDocuments(0, 0, 0, "2009", "")
Dim builder As New StringBuilder("<table><tr><td>Title1</td><td>Title2</td><td>Title3</td><td>Title4</td></tr>")
    For i = 0 To dt.Rows.Count - 1
        builder.Append("<tr><td>")
        builder.Append("<a href=""http://www.google.ie"" target=""_blank"">")
        builder.Append(dt.Rows(i).Item("documentTitle").ToString)
        builder.Append("</a></td>")
        builder.Append("<td>")
        builder.Append(dt.Rows(i).Item("documentTitle").ToString)
        builder.Append("</td>")
        builder.Append("<td>")
        builder.Append(dt.Rows(i).Item("documentTitle").ToString)
        builder.Append("</td>")
        builder.Append("<td>")
        builder.Append(dt.Rows(i).Item("documentTitle").ToString)
        builder.Append("</td></tr>")
    Next
builder.Append("</table>")
dt.Dispose()
_d = Nothing
Return builder.ToString

有没有人有更好的方法来实现这个?

在我尝试过的任何测试中,使用 Stringbuilder 似乎都胜过 SQL XML。

【问题讨论】:

    标签: xml vb.net sql-server-2008 asp.net-ajax xslt


    【解决方案1】:

    问题可能还不够清楚,找到了一篇很好的文章,里面有我想要的信息http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多