Ich folge der Antwort hier: https://stackoverflow.com/a/18066671
string Url = "http://www.owgr.com/ranking";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(Url);
string worldRanking = doc.DocumentNode.SelectNodes("//*[@id=\"ranking_table\"]/div[2]/table/tbody/tr[1]/td[1]")[0].InnerText;
Aber der Xpath gibt eine Nullreferenz zurück. Ich habe verschiedene Varianten ausprobiert, aber nichts funktioniert. Ich habe XPath noch nie zuvor benutzt. Habe ich etwas übersehen?
Es gibt kein <tbody/>
-Element in dieser Tabelle, entfernen Sie den Schritt /tbody
axis, und Ihre Abfrage funktioniert /tbody
. Siehe " Warum funktioniert meine XPath-Abfrage (Scraping von HTML-Tabellen) nur in Firebug, aber nicht die Anwendung, die ich entwickle? " Für Details.
Zusätzlicher Hinweis: XPath unterstützt auch einfache Anführungszeichen für Zeichenfolgen, sodass Sie doppelte Anführungszeichen nicht umgehen müssen.
Dieser XPath-Ausdruck gibt das gesuchte Element zurück:
//*[@id='ranking_table']/div[2]/table/tr[1]/td[1]