У меня есть код ниже. Работает нормально, но загружается слишком долго, примерно 30 секунд. Могу ли я что-нибудь сделать, чтобы сократить это время?
Кроме того, я хотел бы найти в файле XML документы с ИМЯ, начинающиеся с A, B, C etx. Как мне это сделать?
Большое спасибо,
Dim xdoc As New XPathDocument(xt)
Dim nav As XPathNavigator = xdoc.CreateNavigator()
Dim expr As XPathExpression
expr = nav.Compile("/pf:CONTRACTS/pf:CONTRACT")
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(nav.NameTable)
namespaceManager.AddNamespace("pf", "http://namespace/")
expr.SetContext(namespaceManager)
Dim nodes As XPathNodeIterator = nav.Select(expr)
If nodes.Count <> 0 Then
Dim tr As String = Nothing
For Each node As XPathNavigator In nodes
tr += "<td><a Target='_blank' href='http://www.urltosite.aspx?contract=" & node.SelectSingleNode("pf:ID", namespaceManager).Value & "'>" & node.SelectSingleNode("pf:NAME", namespaceManager).Value & "</a></td>"
For Each subNode2 As XPathNavigator In node.Select("pf:SUPPLIERS/pf:SUPPLIER", namespaceManager)
tr += "<td>" & subNode2.SelectSingleNode("pf:SUPPLIERNAME", namespaceManager).Value & "</td>"
Next
tr += "<td>" & node.SelectSingleNode("pf:ENDDATE", namespaceManager).Value & "</td>"
tr += "</tr>"
Next
Dim th As String = "<th width='50%'>Name</th><th width='30%'>Supplier</th><th width='20%'>End Date</th>"
div1.InnerHtml = ("<table width='96%' border='0' cellpadding='0' cellspacing='0' border='0' class='datatable1'>" & th) + tr & "</table>"
Else
div1.InnerHtml = "No results for your search"
End If
++ UPDATE ++
Спасибо за вашу помощь
Я добавил StringBuilder в свой код вместо конкатенации строк. Однако производительность не изменилась, поэтому я предполагаю, что проблема в другом.
Я забыл упомянуть в своем предыдущем письме, что xml-данные, которые я получаю, поступают от веб-службы, которую я использую. Что я могу сделать, чтобы оптимизировать эту производительность?
Большое спасибо