Salve a tutti,

sto realizzando un applicativo in vb.net, nel quale devo fare una ricerca di alcuni dati in file xml piuttosto grandi (dai 100 ai 200mb)
il metodo che usavo di solito è purtroppo poco efficiente, e arriva addirittura a frozzare il pc per 1 minuto quando va a leggere il file, ma non ne conosco altri purtroppo

vi incollo qui sotto il codice che uso ora, sapete come migliorarlo o addirittura un altro modo per leggere i dati? Grazie in anticipo

codice:
                    Dim m_xmld As XmlDocument
                    Dim m_nodelist As XmlNodeList
                    Dim m_node As XmlNode
                    m_xmld = New XmlDocument()
                    m_xmld.Load(AppPath & "\" & Proj(i)(0) & "_user.xml")
                    m_nodelist = m_xmld.SelectNodes("/users/user")
                    For Each m_node In m_nodelist
                        If m_node.ChildNodes.Item(0).InnerText = Proj(i)(2) Then
                            ToReport(i)(0) = m_node.ChildNodes.Item(4).InnerText
                            ToReport(i)(1) = m_node.ChildNodes.Item(5).InnerText
                        End If
                    Next
Note: Proj e ToReport sono due array stringa multidimensionali