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>
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}']");