如何找到以xpath结尾的空间和值的元素

时间:2016-08-23 09:29:36

标签: java xpath

我尝试将所有以符号'3'结尾的元素设为1 3 要做到这一点,我写了这个xpath

(//table)[2]//tr/td[position() = 7  and substring(., (string-length(.) - string-length(' 3')) + 2) = ' 3']

但它不起作用。 P.S我尝试重写函数结束 - 在xpath 1.0中不可用 感谢。

1 个答案:

答案 0 :(得分:1)

您所写的条件不正确。请尝试以下条件。

"... [position() = 7 and substring(., string-length(.) - string-length(' 3') + 1) = ' 3']"

请注意,我已将+2更改为+1

看一下下面的例子:

> $x("substring('1 2 3', string-length('1 2 3') - string-length(' 3') + 2)")
"3"

> $x("substring('1 2 3', 5-2+2)")
"3"

请注意,substring函数的第二个参数值为5。因此,它从5 th 索引返回字符串(请注意,在XPath中,第一个索引被视为1),即"3"

要获得" 3",只需添加1而不是2。

> $x("substring('1 2 3', string-length('1 2 3') - string-length(' 3') + 1)")
" 3"