Existe-t-il un objet en C # permettant une gestion facile du HTML DOM?

c# dom dom-manipulation html-agility-pack

Question

Si j'ai une chaîne contenant le code HTML d'une page que je viens de recevoir d'une publication HTTP, comment puis-je la transformer en quelque chose qui me permettra de parcourir facilement le DOM?

J'ai pensé que l'objet HtmlDocument aurait du sens, mais il n'a pas de constructeur. Existe-t-il des types permettant une gestion facile du HTML DOM?

Merci,
Mat

Réponse acceptée

HtmlDocument est une instance d'un document déjà chargé par un contrôle WebBrowser. Donc pas de ctor.

Html Agility Pack est de loin la meilleure bibliothèque que j'ai utilisée à cette fin

Un exemple du wiki codeplex

HtmlDocument doc = new HtmlDocument();
doc.Load("file.htm");
foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]"))
{
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
}
doc.Save("file.htm");

L'exemple montre le chargement d'un fichier, mais il existe des surcharges qui vous permettent de charger une chaîne ou un flux.




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