如何加入两个 HtmlNodeCollections
本文关键字:两个 HtmlNodeCollections 何加入 | 更新日期: 2023-09-27 18:12:24
我是 C# 中的 HTML 敏捷包,我有两个HtmlNodeCollection
。我可以同时加入两者还是有其他方法可以在一个HtmlNodeCollection
中同时加入两者?
一:
HtmlNodeCollection butiks = doc.DocumentNode.SelectNodes("//div[contains(@class,'butik-large-image')]");
二:
HtmlNodeCollection butiks = doc.DocumentNode.SelectNodes("//div[contains(@class,'butik small left')]");
HtmlNodeCollection
继承IList<HtmlNode>
继承IEnumerable<HtmlNode>
,您可以在其中调用Enumerable.Concat()
扩展方法来创建包含两个源的新枚举。请参阅如何将两个 IEnumerable
您也可以通过在 Xpath 表达式中使用"or"来选择两组节点:
//div[contains(@class,'butik-large-image') or contains(@class,'butik small left')]
请注意,这contains()
期望给定的类按给定的顺序排列。如果您不想这样做,请使用括号和and
:
//div[contains(@class,'butik-large-image')
or
(
contains(@class,'left') and
contains(@class,'small') and
contains(@class,'butik')
)]
请参阅如何使用 Xpath 选择具有多个类的元素?以正确实现该and
,因为上面的代码将匹配误报,因为它不会将类作为单独的单词进行检查。