2010-06-10 78 views
0

我有一個接口,根據用戶點擊的標籤加載文檔列表。Stringbuilder vs SQL FOR XML/XSL轉換

我已經從一個SQL 2008數據庫檢索通過XML數據:

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

然後tranforming使用XSLT樣式表的XML。它一切正常。

爲了改善體驗,我嘗試使用JQuery在單擊選項卡時加載文檔列表。我將返回一大塊html到客戶端,並替換包含文檔列表的div的html。

我有幾個選項,從SQL轉換XML爲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。

回答