我使用xpath时遇到问题。 我需要从类别中选择所有项目。 像(伪郎)这样的东西: 如果 class!= block-events-head 和父属性 data-category-sport =“Basketball”
,请选择所有div这里是html示例:
<div data-category-sport="Basketball" data-category-treeid="972911">
<div class="block-events-head">...</div>
<div id="event_1558960" data-event-treeid="1558960">...</div>
<div id="event_1559240" data-event-treeid="1559240">...</div>
<div id="event_1559560" data-event-treeid="1559560">...</div>
</div>
我在尝试:
.//div[@class!="block-events-head" and ../div[@data-category-sport='Basketball']]
但它不起作用:(
.//div[@class!="block-events-head"]
但是如何添加“按父级过滤”?
请帮我解决..
问候!
答案 0 :(得分:1)
XPath表达式的问题在于第二项../div[@data-category-sport='Basketball']
对于第一项@class!="block-events-head"
所拥有的节点的所有兄弟节点也是如此。你想要的是检查条件的两个部分是否有相同的父子关系。这实际上很容易实现。只需将父项检查移至层次结构的更高级别
.//div[@data-category-sport='Basketball']/div[@class!="block-events-head"]
并查看这是否适合您。
答案 1 :(得分:0)
我不确定这是否是你想要的,但看看这是否对你有所帮助:
.// DIV [@数据类别的运动= “篮球”] /格[@class!= “块事件头”]