【发布时间】:2017-08-14 14:11:42
【问题描述】:
我有以下Lis:
<ul>
//1st subcategory with 4 sub categories
<li class="supercategory"></li>
<li class="subcategory"></li>
<li class="subcategory"></li>
<li class="subcategory"></li>
<li class="subcategory"></li>
//2nd subcategory with 3 sub categories
<li class="supercategory"></li>
<li class="subcategory"></li>
<li class="subcategory"></li>
<li class="subcategory"></li>
//3d subcategory with 1 sub category
<li class="supercategory"></li>
<li class="subcategory"></li>
</ul>
我一直在尝试获取每个超级类别之后的所有“2 级”。因此,对于第一个超类别,xpath 匹配将是 4 个子类别兄弟 lis,第二个超类别 xpath 将返回 3 个 lis,依此类推。
我已经尝试了几件事,但一个简单的开始会是这样的:
//li[@class="supercategory"][position()=2]/following-sibling::li[@class ="subcategory"]
我试图在第二个超类别之后获得 3 个子类别 lis,但显然这将返回所有带有类子类别的 lis。
因此,我想知道是否有更适合解决此问题的谓词。尤其是在这种情况下,子类别是具有超类别的兄弟节点。
为方便起见,我在这里进行了测试:https://www.freeformatter.com/xpath-tester.html
提前致谢。
【问题讨论】:
标签: html xml xpath predicate siblings