Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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
Xpath在锚帮助中选择以下(数字)同级_Xpath_Next_Siblings - Fatal编程技术网

Xpath在锚帮助中选择以下(数字)同级

Xpath在锚帮助中选择以下(数字)同级,xpath,next,siblings,Xpath,Next,Siblings,如果我没有解释清楚,请提前道歉。我会尽我最大的努力澄清我想做什么。无需进一步讨论……假设您在一页上有一系列数字(仅用空格分隔),其中括号表示当前页面 在页面上看起来是这样的: [1] 2 3 HTML如下所示: <tr> <td> [<a href='link1.php'>1</a>] <a href='link2.php'>2</a> <a href='link3.php'>3</a> <

如果我没有解释清楚,请提前道歉。我会尽我最大的努力澄清我想做什么。无需进一步讨论……假设您在一页上有一系列数字(仅用空格分隔),其中括号表示当前页面

在页面上看起来是这样的:

[1] 2 3

HTML如下所示:

<tr>
<td>

[<a href='link1.php'>1</a>] <a href='link2.php'>2</a> <a href='link3.php'>3</a> 

</td>
</tr>

[]   
我只是想根据当前页面选择下一个页码。我想我需要使用某种形式的following sibling,但我所想到的是//tr/td/a/following sibling::a[1],这显然是不正确的。它在第1页上选择2,但在第2页上按预期选择3。我会尝试使用[text()[contains(,“[”)]]来选择当前页面,但括号位于锚外部,而不是内部.Eek


如果您能将思考过程与您的解决方案一起解释,而不仅仅是粘贴答案,我们将不胜感激。期待您的帮助。

第2页后的下一页将由以下人员找到:

//tr/td/a[.='2']/following-sibling::a[1]
首先,我们根据当前页面的字符串内容选择当前页面
//tr/td/a[.='2']
,然后从中选择下面的第一个同级

要在不知道当前页面的情况下执行此操作,我们将选择“]”后面的a元素

如果没有当前页面,我们将默认为元素的第一个

//tr/td/( text()[']'=normalize-space(.)]/following-sibling::a | a )[1]
//tr/td/( text()[']'=normalize-space(.)]/following-sibling::a | a )[1]