html agility pack - Wählen Sie einen bestimmten Knoten

c# html-agility-pack

Frage

Ich muss einen Knoten auswählen, der einen bestimmten Wert hat:

<td class='formlabel'>Name:</td>

Also habe ich so etwas:

HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][starts-with(., 'Name:')]");

Das funktioniert. Aber das Problem ist, dass dies eine Auswahl mit Starts ist - also zum Beispiel wenn ich Code wie diesen habe:

<td class='formlabel'>Name: some text</td>

Es wird auch der Knoten ausgewählt. Ich brauche etwas, das Knoten nur auswählt, wenn dies existiert

<td class='formlabel'>Name:</td>

Also wird der Knoten ausgewählt, der nur innerText gleich "Name:" hat

Hmm ... Ist das möglich? Vielen Dank.

Akzeptierte Antwort

Ich glaube du willst:

HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][text()='Name:']");

Oder

HtmlNode selectedNote = html.DocumentNode.SelectSingleNode("//td[@class='formlabel'][.='Name:']");


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