Ich versuche diesen Code auszuführen
string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.LoadHtml(path);
var div = htmlDoc.DocumentNode.Descendants("div");
foreach (var x in div)
{
Console.WriteLine(x.Attributes["class"].Value);
}
wenn ich diesen Code in htmlDoc.LoadHtml(path);
debuggen htmlDoc.LoadHtml(path);
Ich habe diesen Fehler erhalten
Quelle für 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' suchen. Prüfsumme: MD5 {4e 14 d3 b d5 30 6e 2c bf 84 ab 8a 96 82 4a 8f} Die Datei 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' existiert nicht. Suchen Sie in den Skriptdokumenten nach 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' ... Suchen Sie in den Projekten nach 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs'. Die Datei wurde in einem Projekt nicht gefunden. Suchen im Verzeichnis 'C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ crt \ src \' ... Suchen im Verzeichnis 'C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ crt \ src \ vccorlib \ '... Suchen im Verzeichnis' C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ mfc \ '... Suchen im Verzeichnis' C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ src \ atl \ '... Suchen im Verzeichnis' C: \ Programme (x86) \ Microsoft Visual Studio 12.0 \ VC \ atlmfc \ include '... Die Einstellungen der Debug-Quelldateien Für die aktive Lösung geben Sie an, dass der Debugger den Benutzer nicht auffordert, die Datei zu finden: d: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs. Der Debugger konnte die Quelldatei 'd: \ SVN_CHECKOUT \ htmlagilitypack \ Trunk \ HtmlAgilityPack \ HtmlDocument.cs' nicht finden.
Ihr Versuch, ein HTML-Dokument vom URI zu laden, ist falsch.
Methof HtmlDocument.LoadHtml
lädt html von der angegebenen Zeichenkette, also ist sein Argument HTML-Text selbst, nicht URI.
Um HTML von der bereitgestellten URI zu laden, benötigen Sie etwas wie:
string path = "http://warisons.rssing.com/chan1729325/all_p43.html";
HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlWeb().Load(path);
Beachten Sie auch, dass NullReferenceException
hier NullReferenceException
erhalten NullReferenceException
:
x.Attributes["class"].Value
da Sie vor dem Zugriff auf den Wert nicht prüfen, ob ein class
vorhanden ist ( x.Attributes["class"] != null
).