C#HTML Agility Pack - 在SelectNodes中使用變量

c# html-agility-pack

在SelectNodes參數中使用變量的語法是什麼?

例如,

string foo = "bar";

這很有效

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

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

找不到節點。問題出現是因為我不能確定id字符串是什麼,所以我必須使用變量方法。什麼是正確的語法?

html看起來像

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

熱門答案

SelectNodes接受的參數只是一個字符串。您可以提前聲明一個字符串,也可以在一行中完成所有操作。

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

或者使用不同的字符串格式化程序執行相同操作的另一種方法:

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


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因