Dies ist mein erster Versuch, einen Elementwert mithilfe von HAP zu ermitteln. Ich erhalte einen Null-Objektfehler, wenn ich versuche, InnerText zu verwenden.HTML Agility Pack - Verwenden von XPath zum Abrufen eines einzelnen Knotens - Objektreferenz nicht auf eine Instanz eines Objekts festgelegt
die URL ich Schaben bin, ist: - http://www.mypivots.com/dailynotes/symbol/659/-1/e-mini-sp500-june-2013 Ich versuche, den Wert für die aktuelle Hoch vom Tag ändern Übersichtstabelle zu erhalten.
Mein Code ist am unteren Rand. Erstens möchte ich nur wissen, ob ich das richtig mache. Wenn ja, ist mein XPath-Wert dann einfach falsch?
Der XPath-Wert wurde mit einem Dienstprogramm namens htmlagility Helfer gefunden. Die Firebug-Version des XPath unten gibt auch den gleichen Fehler: - /html/body/div [3]/div/Tabelle/tbody/tr [3]/td/Tabelle/tbody/tr [5]/td [ 3]
Mein Code: -
WebClient myPivotsWC = new WebClient();
string nodeValue;
string htmlCode = myPivotsWC.DownloadString("http://www.mypivots.com/dailynotes/symbol/659/-1/e-mini-sp500-june-2013");
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlCode);
HtmlNode node = doc.DocumentNode.SelectSingleNode("/html[1]/body[1]/div[3]/div[1]/table[1]/tbody[1]/tr[3]/td[1]/table[1]/tbody[1]/tr[5]/td[3]");
nodeValue=(node.InnerText);
Danke, Will.
Dankhaufen, das funktioniert. Ich werde Ihre Erklärung des XPath studieren, ich dachte, ich könnte das schaffen, ohne tatsächlich zu lernen, wie man XPath benutzt, aber klar muss ich es tun. – dontpanic
@donstpanic: Lerne 'XPath', stelle Fragen zur Verfeinerung deiner' XPath' Anfragen, es gibt viele 'XPath' Fragen und Antworten zu SO. – MattH
@Simon: Also habe ich ein ähnliches Problem und ich habe versucht, Ihrem Vorschlag zu folgen und immer noch kein Glück. Wären Sie in der Lage, ein Beispiel von einem Wert aus der Tabelle unten in http://weather.deltixlab.com/ zu zeigen Ich habe Folgendes geschrieben: 'string day1 = doc.DocumentNode.SelectNodes (" // * [@ class = 'table-block'] /../../../ tr [1]/td [1] ") [0] .InnerText;' – goodfella