0

我的 xpath 表达式如下:

//ep:getSwitchListResponse[1]/result[1]/item[position() >1 and position() <= last()]/ipAddress[1]/text()

我想获取的值position()并用它来验证 name 。就像是

//ep:getSwitchListResponse[1]/result[1]/**item[Position()FromPreviousQuery**)]/name[1]/text() 

这可以在一个 xpath 表达式中同时完成吗?

4

1 回答 1

0

除非您将第一个 XPath 的位置存储在本地某处,否则如果您想重用相同的位置,则必须再次调用 xpath,XPath 不会存储以前遍历的任何内容。

前任)

你的第一个 xpath:

//ep:getSwitchListResponse[1]/result[1]/item[position() >1 and position() <= last()]/ipAddress[1]/text()

它的位置:

count(//ep:getSwitchListResponse[1]/result[1]/item[position() >1 and position() <= last()]/ipAddress[1]/preceding-sibling::*)

XPath 插入第二个的位置:

//ep:getSwitchListResponse[1]/result[1]/**item[count(//ep:getSwitchListResponse[1]/result[1]/item[position() >1 and position() <= last()]/ipAddress[1]/preceding-sibling::*)]/name[1]/text()
于 2013-03-05T14:39:37.083 回答