在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>
答案 0 :(得分:0)
使用它像这样:
string foo = "bar";
nodes = hd.DocumentNode.SelectNodes("//span[@id='"+ foo + "']");
答案 1 :(得分:0)
SelectNodes接受的参数只是一个字符串。您可以提前声明一个字符串,或者只在一行中完成所有操作。
string idName = "bar";
string xpath = "//span[@id='" + idName + "']";
nodes = hd.DocumentNode.SelectNodes(xpath);
或者使用不同的字符串格式化程序执行相同操作的另一种方法:
string idName = "bar";
nodes = hd.DocumentNode.SelectNodes($"//span[@id='{idName}']");