C # HTML Agility Pack - Utilisation d'une variable dans SelectNodes

c# html-agility-pack

Question

Quelle est la syntaxe pour utiliser une variable dans les paramètres SelectNodes?

Par exemple,

string foo = "bar";

Cela marche

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

Mais

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

ne trouve aucun nœud. Le problème se pose parce que je ne suis pas sûr de ce que sera la chaîne d'identifiant, je dois donc utiliser l'approche variable. Quelle est la syntaxe appropriée?

Le html ressemble à

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

Réponse populaire

Le paramètre accepté par SelectNodes est juste une chaîne. Vous pouvez déclarer une chaîne à l'avance ou simplement tout faire en une seule ligne.

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

Ou une autre façon de faire la même chose avec un autre formateur de chaîne:

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



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi