Passer une chaîne de page HTML et gratter avec HtmlAgilityPack

c# html-agility-pack vb.net

Question

Pourquoi ai-je cette erreur?

"Caractères illégaux dans le chemin" dans htmlDoc.Load(pageSource)

pageSource est une variable de chaîne de la page HTML. J'ai besoin de transmettre le code source de la page sous forme de chaîne, et non de fichier ni d'URL. Comment puis-je faire cela?

Dim ids As New List(Of String)()
Dim pageSource = getHtml(url)

Dim htmlDoc As HtmlDocument = New HtmlDocument()

htmlDoc.OptionFixNestedTags = True


htmlDoc.Load(pageSource)


Dim s As HtmlNodeCollection = htmlDoc.DocumentNode.SelectNodes("//div/@id")

For Each div As HtmlNode In s
    ids.Add(div.Id)
Next

Réponse acceptée

Utilisez LoadHtml au lieu de Load :

htmlDoc.LoadHtml(pageSource)

Voir aussi la source.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi