python xpath获取指定属性的标签_python – Xpath只选择具有匹配属性的直接兄弟

我有以下示例文档:

A

B

C

D

E

F

我正在寻找一个xpath表达式,它选择具有匹配类属性的给定节点的所有直接兄弟,而不是任何兄弟.在上面的例子中,前两个< p class =“b”>应选择A-B;同样地,两个< p class =“a”> C-D,同样是第五单< p class =“b”> E,因为它没有直接的兄弟姐妹;同样地,单个< p class =“b”> < x>内的F请注意,在此上下文中,B和C不是直接兄弟,因为它们具有不同的类属性值!

我有的是这个:

xml.xpath("//p") # This selects all six

elements.

xml.xpath("//p[@class='b']") # This selects all four

elements.

xml.xpath("//p/following-sibling::p[@class='b']") # This selects all

sibling elements, even though not direct siblings.

最后一个表达式也选择了第五个兄弟,尽管中间有不匹配的兄弟姐妹.

如何仅选择具有相同类值的直接兄弟姐妹?

编辑澄清:注意最后两个是如何选择,而不是兄弟姐妹!

编辑我保存了一个示例here.基于/ root / p [1]的Xpath表达式应该选择A,B,C,D.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值