Для тех, кто заинтересован, у меня была очень похожая потребность, и я должен был сделать это немного по-другому.
Мне нужно было получить значение, если один брат в том же узле основан на другом брате.Итак, в следующем примере мне нужно было получить номер розыгрыша на основе определенного идентификатора игры
XML:
<InitResponse>
<LottoToken>908ec70b308adf10d04db1478ef9b01b</LottoToken>
<GameInfoList>
<GameInfo>
<Draw>
<gameId>L649</gameId>
<draw>3035</draw>
</Draw>
</GameInfo>
<GameInfo>
<Draw>
<gameId>BC49</gameId>
<draw>2199</draw>
</Draw>
</GameInfo>
</GameInfoList>
</InitResponse>
Мне нужно было использовать следующий синтаксис.Он работает в нескольких онлайновых оценщиках xPath, но у меня были проблемы с этим в C #, и мне пришлось использовать другой подход.
/InitResponse/GameInfoList/GameInfo/Draw/draw[preceding-sibling::gameId='L649']