사용자가 클릭 한 탭에 따라 문서 목록을로드하는 인터페이스가 있습니다. Stringbuilder 대 SQL FOR XML/XSL 변환
내가 가진 SQL 2008 데이터베이스에서 XML을 통해 데이터를 검색했습니다 :SELECT col1, col2 col3 FROM documents WHERE typeId = 4 FOR XML PATH('doc'), ROOT('documents')
그런 다음 XSLT 스타일 시트와 XML을 tranforming. 그것은 모두 잘 작동합니다.
경험을 향상시키기 위해 탭을 클릭 할 때 문서 목록을로드하는 데 JQuery를 사용하려고합니다. 나는 html의 덩어리를 클라이언트에게 돌려주고 문서 목록을 담고있는 div의 html을 대체하려고했다.
나는 HTML과
또는
는 SQL의 XML 잊어 클라이언트에 결과 문자열을 반환하고 같이 모두 StringBuilder를 사용하여 HTML 문자열로 시일을 추정 변환 SQL에서 XML을 변환, 다음 몇 가지 옵션을 사용할 수 있습니다 :
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을 사용하는 것으로 보입니다.