Java 如何通过xpath查找以空格和值结尾的元素

Java 如何通过xpath查找以空格和值结尾的元素,java,xpath,Java,Xpath,我尝试获取所有以符号“3”结尾的元素,如下13 为此,我编写了以下xpath (//table)[2]//tr/td[position() = 7 and substring(., (string-length(.) - string-length(' 3')) + 2) = ' 3'] 但它不起作用。 另外,我尝试重写XPath1.0中不可用的函数结尾 谢谢。你写的条件不正确。试试下面的条件 "... [position() = 7 and substring(., string-leng

我尝试获取所有以符号“3”结尾的元素,如下
13
为此,我编写了以下xpath

(//table)[2]//tr/td[position() = 7  and substring(., (string-length(.) - string-length(' 3')) + 2) = ' 3']
但它不起作用。 另外,我尝试重写XPath1.0中不可用的函数结尾
谢谢。

你写的条件不正确。试试下面的条件

"... [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个索引返回字符串(请注意,在XPath中,第一个索引被视为
1
),即
“3”

要获得
“3”
,只需添加1而不是2

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

请您再详细说明一下这个问题好吗?我不确定如何使用xpath 1.0来解决这个问题,但这段代码应该可以在java中使用:@Xentros有一个表,我需要按类(td[position()=7])对其进行筛选,值为“3”。在这个单元格中可以有许多数字组合的变体,如
3
1 3 4
3 4
1 3
。我介绍了前三种组合,但最后一种组合有一个问题