2010-04-20 4 views
6

Si j'ai une chaîne qui contient le html d'une page que je viens de recevoir d'un message HTTP, comment puis-je transformer cela en quelque chose qui me permettra de traverser facilement le DOM?Y a-t-il un objet en C# qui permet une gestion facile du DOM HTML?

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

Merci,
Matt

Répondre

9

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

Html Agility Pack est de loin la meilleure bibliothèque, je l'ai utilisé à cet effet

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 charger une chaîne ou un flux.  

+0

Génial, merci! – Matt

Questions connexes