在 C# 中使用 xpath 选择具有不同 class 的多个 div 节点
Selecting Multiple div Nodes with different class with xpath in C#
我想 select div 具有不同 class 的节点与 xpath。我应该怎么办?
我写了这段代码,但是它 returns 错误。
HtmlWeb w = new HtmlWeb();
string SearchResults = "http://www.ask.com/web?q=" + query.querytxt;
var hd = w.Load(SearchResults);
var titles = hd.DocumentNode.SelectNodes("//div[contains(@class='web-result ur tsrc')] && //div[contains(@class='web-result ur tsrc_Wiki-SA '] && //div[contains(@class='web-result ur tsrc_tube youtube-result ']");
我需要这些 divs
//div[contains(@class='web-result ur tsrc')]
//div[contains(@class='web-result ur tsrc_Wiki-SA ')]
//div[contains(@class='web-result ur tsrc_tube youtube-result ']
这是错误:
Function 'contains' in '//div[contains(@class='web-result ur tsrc')]
&& //div[contains(@class='web-result ur tsrc_Wiki-SA '] &&
//div[contains(@class='web-result ur tsrc_tube youtube-result ']' has
an invalid number of arguments.
在 xpath
中,contains()
函数使用 ,
来比较值而不是 =
。因此,请尝试使用正确的 xpath
进行以下操作:-
//div[contains(@class, 'web-result ur tsrc')]
//div[contains(@class, 'web-result ur tsrc_Wiki-SA ')]
//div[contains(@class, 'web-result ur tsrc_tube youtube-result ')]
希望对您有所帮助...:)
到select所有div(s)(节点)不同class个名字,直接搜索class个名字。
您可以按以下方式进行操作:
hd.DocumentNode.SelectNodes("@class='web-result ur tsrc' or @class='web-result ur tsrc_Wiki-SA' or @class='web-result ur tsrc_tube youtube-result ']");
我想 select div 具有不同 class 的节点与 xpath。我应该怎么办? 我写了这段代码,但是它 returns 错误。
HtmlWeb w = new HtmlWeb();
string SearchResults = "http://www.ask.com/web?q=" + query.querytxt;
var hd = w.Load(SearchResults);
var titles = hd.DocumentNode.SelectNodes("//div[contains(@class='web-result ur tsrc')] && //div[contains(@class='web-result ur tsrc_Wiki-SA '] && //div[contains(@class='web-result ur tsrc_tube youtube-result ']");
我需要这些 divs
//div[contains(@class='web-result ur tsrc')]
//div[contains(@class='web-result ur tsrc_Wiki-SA ')]
//div[contains(@class='web-result ur tsrc_tube youtube-result ']
这是错误:
Function 'contains' in '//div[contains(@class='web-result ur tsrc')] && //div[contains(@class='web-result ur tsrc_Wiki-SA '] && //div[contains(@class='web-result ur tsrc_tube youtube-result ']' has an invalid number of arguments.
在 xpath
中,contains()
函数使用 ,
来比较值而不是 =
。因此,请尝试使用正确的 xpath
进行以下操作:-
//div[contains(@class, 'web-result ur tsrc')]
//div[contains(@class, 'web-result ur tsrc_Wiki-SA ')]
//div[contains(@class, 'web-result ur tsrc_tube youtube-result ')]
希望对您有所帮助...:)
到select所有div(s)(节点)不同class个名字,直接搜索class个名字。
您可以按以下方式进行操作:
hd.DocumentNode.SelectNodes("@class='web-result ur tsrc' or @class='web-result ur tsrc_Wiki-SA' or @class='web-result ur tsrc_tube youtube-result ']");