Salut tout le monde,
Je suis entrain de travailler sur une application pour mon projet qui consiste à ouvrir un document html en utilisant le moteur de IE "MSHTML" et de filtrer tous les URL.
CODE :
Dim Lien As HTMLLinkElement
Dim Document1 As New mshtml.HTMLDocument
Dim Document2 As New mshtml.HTMLDocument
Dim i As Integer
While Document1.readyState <> "complete"
System.Windows.Forms.Application.DoEvents()
End While
For Each Lien In Document1.links
ListBox1.Items.Add(Document2.links.item(i))
Next
Mais cela ne fonctionne pas, ca me donne "Tentative de lecture ou d'écriture de mémoire protégée. Cela indique souvent qu'une autre mémoire est endommagée."
Est ce que quelqu'un aurait une idée pour résoudre le problème ou y a-t-il une autre façon de faire peut être.
Merci
satte dit : Document1 = Document2.createDocumentFromUrl("URL", vbNullString)
notamment le URL entre guillemets... mais je ne connais pas la classe que tu utilises pour parser ton html.
Sinon, c'est pas très dur de parser toutes les url d'une page html. Je te conseille même de le faire toi même, çà ira plus vite. Voici le mode d'emploi :
Télécharger la page HTML avec la classeWebClient.
Ouvrir le fichier et tout stocker dans un type string
Utiliser les regex et parser les chaines de la forme : <a href="url". On récupère alors facilement les chaines url.
Dis moi ce que t'en penses et si çà t'avances...
__________________________
Sujet résolu ? Pensez à mettre le tag
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.
For Each Lien In Document1.linksListBox1.Items.Add(Document2.links.item(i))Next
Pourquoi utilise tu document2 : les liens sont dans document1, non ?
Et sinon la méthode de Czayfaboo est bonne, mais il va falloir utiliser les regex, car les attributs HTML ne sont malheureusement pas toujours dans l'ordre.
Voilà...
__________________________
Prière de ne pas oublier le magnifique tag (résolu) si votre sujet l'est !