Html Xpath如何在下一个特定标记出现之前获取所有以下同级
我有一个xpath问题需要收集 我想收集以下所有兄弟姐妹,直到下一个强标记 为了收集这些数据,假设两个变量如下Html Xpath如何在下一个特定标记出现之前获取所有以下同级,html,xpath,Html,Xpath,我有一个xpath问题需要收集 我想收集以下所有兄弟姐妹,直到下一个强标记 为了收集这些数据,假设两个变量如下 强:“关键”参数 强标记之间:“值”参数 A a B b C c D ·d1 d2 E e如果您使用的是XPath 1.0,则此类问题相当棘手(事实上,在更高版本中也不常见)。在许多情况下,最实用的解决方案是让XPath优先检索,然后在接收应用程序中过滤结果 在您的特定示例中,要求“直到下一个strong的所有后续同级元素”与要求“紧随其后的同级元素”相同,后者可以作
- 强:“关键”参数
- 强标记之间:“值”参数
A
a
B
b
C
c
D
-
·d1
d2
E
e
如果您使用的是XPath 1.0,则此类问题相当棘手(事实上,在更高版本中也不常见)。在许多情况下,最实用的解决方案是让XPath优先检索,然后在接收应用程序中过滤结果
在您的特定示例中,要求“直到下一个strong
的所有后续同级元素”与要求“紧随其后的同级元素”相同,后者可以作为后续同级元素获得:*[1]
但在更一般的情况下,你需要
following-sibling::* except following-sibling::strong/(. | following-sibling::*)
这在XPath 2.0中是有效的,但在XPath 1.0中除了操作符之外没有任何(同样,在1.0中也不能使用这样的参数)
您可以在1.0中使用“重写”创建一个except运算符
A except B ==> A[count(.|B)=0]
但它变得相当可怕
如果可以,请转到XPath 3.1 如果您使用的是XPath 1.0,则此类问题相当棘手(事实上,在更高版本中也不容易)。在许多情况下,最实用的解决方案是让XPath优先检索,然后在接收应用程序中过滤结果
在您的特定示例中,要求“直到下一个strong
的所有后续同级元素”与要求“紧随其后的同级元素”相同,后者可以作为后续同级元素获得:*[1]
但在更一般的情况下,你需要
following-sibling::* except following-sibling::strong/(. | following-sibling::*)
这在XPath 2.0中是有效的,但在XPath 1.0中除了
操作符之外没有任何(同样,在1.0中也不能使用这样的参数)
您可以在1.0中使用“重写”创建一个except运算符
A except B ==> A[count(.|B)=0]
但它变得相当可怕
如果可以,请转到XPath 3.1 这项技术可能会对你有所帮助。这项技术可能会对你有所帮助。