Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Xpath如何在下一个特定标记出现之前获取所有以下同级_Html_Xpath - Fatal编程技术网

Html Xpath如何在下一个特定标记出现之前获取所有以下同级

Html Xpath如何在下一个特定标记出现之前获取所有以下同级,html,xpath,Html,Xpath,我有一个xpath问题需要收集 我想收集以下所有兄弟姐妹,直到下一个强标记 为了收集这些数据,假设两个变量如下 强:“关键”参数 强标记之间:“值”参数 A a B b C c D ·d1 d2 E e如果您使用的是XPath 1.0,则此类问题相当棘手(事实上,在更高版本中也不常见)。在许多情况下,最实用的解决方案是让XPath优先检索,然后在接收应用程序中过滤结果 在您的特定示例中,要求“直到下一个strong的所有后续同级元素”与要求“紧随其后的同级元素”相同,后者可以作

我有一个xpath问题需要收集

我想收集以下所有兄弟姐妹,直到下一个强标记

为了收集这些数据,假设两个变量如下

  • 强:“关键”参数

  • 强标记之间:“值”参数

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

这项技术可能会对你有所帮助。这项技术可能会对你有所帮助。