Html Agility Pack C #: Ausdruck muss zu einem Knotensatz ausgewertet werden

c# html-agility-pack web-scraping

Frage

Ich verwende Html Agility Pack, um eine Webseite zu holen. Ich möchte alle TEXT, die ich suche, für das folgende Formular sammeln:

<li><a href="/deal/map/4087664" class="show-location" title="bla bla" data-address="TEXT I AM LOOKING FOR"></a></li>

Ich habe diesen Code ausprobiert:

var web = new HtmlWeb();
var doc = web.Load(url);

var nodes1 = doc.DocumentNode.SelectNodes("//[@data-address]");
var nodes2 = doc.DocumentNode.SelectNodes("//[@data-address={0}]");

beide haben eine Ausnahme ausgelöst: Ausdruck muss zu einer Knotenmenge ausgewertet werden. Wie kann ich meinen Selektor korrigieren?

Akzeptierte Antwort

Ich bin kein XPath-Experte, aber ich vermute, du willst:

// Note the *
var nodes1 = doc.DocumentNode.SelectNodes("//*[@data-address]");

Mit anderen Worten "jedes Element mit einem data-address "




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum