2010-04-20 6 views
6

Wenn ich eine Zeichenfolge habe, die das HTML von einer Seite enthält, die ich gerade von einem HTTP-Beitrag zurückgegeben habe, wie kann ich das in etwas verwandeln, das mich das DOM leicht durchqueren lässt?Gibt es ein Objekt in C#, das eine einfache Verwaltung von HTML DOM ermöglicht?

Ich dachte, HtmlDocument-Objekt würde Sinn machen, aber es hat keinen Konstruktor. Gibt es Typen, die eine einfache Verwaltung von HTML DOM ermöglichen?

Danke,
Matt

Antwort

9

Die Htmldocument ist eine Instanz eines Dokuments, das bereits von einem WebBrowser-Steuerelement geladen wird. Also kein ctor.

Html Agility Pack ist bei weitem die beste Bibliothek, die ich zu diesem Zweck

Ein Beispiel aus dem Codeplex-Wiki verwendet habe

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"); 

Das Beispiel zeigt den Laden einer Datei, aber es gibt Überlastungen, die Sie lassen Laden Sie eine Zeichenfolge oder einen Stream.  

+0

Super, danke! – Matt

Verwandte Themen