或者/和HtmlAgilityPack中的Filter

本文关键字:中的 Filter HtmlAgilityPack 或者 | 更新日期: 2023-09-27 18:29:36

我以前是HtmlAgilityPack的新手,很长一段时间以来我一直在使用WinistaHtmlParser。但切换到HtmlAgilityPack,我看到了我错过的东西。

在Winista中,如果我想从我使用的多个元素(Div、span、table)和/或filer中获取数据。

我不知道如何在HtmlAgilityPack中应用和/或筛选。

示例:

<div id ="jobListing">
 <div class="evenRow">job1</div>
 <div class="oddRow">job2</div>
 <div class="evenRow">job3</div>
 <div class="oddRow">job4</div>
</div>

我知道我可以像一样获得Div

HtmlNodeCollection allJobs = path.SelectNodes("//div[@class='evenRow']");

但是我想用这两个类获得div,我不想只通过div。那么如何在这里应用or过滤器呢?

类似于:

HtmlNodeCollection allJobs = path.SelectNodes("//div[@class='evenRow'] + //div[@class='oddRow'] ");

以及如何应用和过滤,就像我想在class和id上获得下面的div一样:。

<div id="abc" class="123"> text </div>

感谢任何帮助我一直想在HtmlAgilityPack上学习这些过滤器,但一直没有时间,但今天我不得不使用这个:)。

或者/和HtmlAgilityPack中的Filter

您可以将OR属性过滤器组合在一起,如下所示:

HtmlNodeCollection allJobs = 
     path.SelectNodes("//div[@class='evenRow' or @class='oddRow']");

参考号:XPath示例