我正在尝试对外部网站的 HTML 进行排序,不幸的是,该网站的组织非常糟糕。数据可能如下所示:
<a class="title">Title One</a>
<a class="item">Item One</a>
<a class="item">Item Two</a>
<a class="title">Title Two</a>
<a class="item">Item One</a>
<a class="item">Item Two</a>
我正在使用这样的 xpath 查询来获取标题:
$titles = $x->evaluate('//a[@class="title"]');
现在,我想列出标题及其下方的项目。不幸的是,这些元素都没有方便地包装在父 div 中,所以我不能只过滤父 div 中的所有内容。所以,我对这些项目使用这样的查询:
$titles = $x->evaluate('//a[@class="item"]');
理想情况下,我想做的只是检查当前标题元素下方的结果。所以,如果我循环并点击“标题一”,我只想检查出现在标题一和标题二之间的“项目”结果。有没有办法做到这一点?
在这里修改 HTML 不是一个选项。我知道这个问题有点荒谬,我的解释可能很糟糕,但如果有解决方案,它真的会帮助我!
谢谢大家。