0

私のxpath式は次のとおりです。

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

position()の値を取得し、それを使用して名前を確認したいと思います。何かのようなもの

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

これは、1つの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 が 2 番目に差し込まれた位置:

//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 に答える