C # HTML Agility Pack - Verwenden einer Variablen in SelectNodes

c# html-agility-pack

Frage

Wie lautet die Syntax für die Verwendung einer Variablen in den SelectNodes-Parametern?

Beispielsweise,

string foo = "bar";

Das funktioniert

nodes = hd.DocumentNode.SelectNodes("//span[@id='bar']");

Aber

nodes = hd.DocumentNode.SelectNodes("//span[@id=foo]");

findet keine Knoten. Das Problem tritt auf, weil ich nicht sicher sein kann, was die ID-Zeichenfolge sein wird, also muss ich den Variablenansatz verwenden. Was ist die richtige Syntax?

Das HTML sieht so aus

<span id="bar">text</span>

Beliebte Antwort

Der von SelectNodes akzeptierte Parameter ist nur eine Zeichenfolge. Sie könnten eine Zeichenfolge im Voraus deklarieren oder einfach alles in einer Zeile tun.

string idName = "bar";
string xpath = "//span[@id='" + idName + "']";
nodes = hd.DocumentNode.SelectNodes(xpath);

Oder eine andere Möglichkeit, dasselbe mit einem anderen String-Formatierer zu tun:

string idName = "bar";
nodes = hd.DocumentNode.SelectNodes($"//span[@id='{idName}']");



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