Y at-il un objet en C # qui permet de gérer facilement les DOM HTML?
-
28-09-2019 - |
Question
Si j'ai une chaîne qui contient le code HTML d'une page Je viens de rentrer d'un poste HTTP, comment puis-je transformer en quelque chose qui me permettra de traverser facilement les DOM?
je me suis dit objet HtmlDocument serait logique, mais il n'a pas de constructeur. Y a-t-il des types qui permettent une gestion aisée des DOM HTML?
Merci,
Matt
La solution
Le HtmlDocument est une instance d'un document qui est déjà chargé par un contrôle WebBrowser. Par conséquent, aucune cteur.
Html Agility pack est de loin le meilleure bibliothèque, j'ai utilisé à 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 y a des surcharges qui vous permettent de charger une chaîne ou un flux.