この 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>
特定の gameId に基づいて抽選番号を取得する必要があります。たとえば、gameID L649 を指定した場合、3035 を取得する必要があります。
以下は、いくつかのオンライン エバリュエーターで機能しますが、C# では機能しません。見つからないと言われています。提案?
/InitResponse/GameInfoList/GameInfo/Draw/draw[preceding-sibling::gameId='L649']
私が試したC#コード:
XmlNode node = xmlDoc.SelectSingleNode("/InitResponse/GameInfoList/GameInfo/Draw/draw[preceding-sibling::gameId='L649']");
... ここで、xmlDoc は、xml とともにロードされた xmlDocument オブジェクトです。ノード変数は、一致が見つからなかったことを示すように見える null 値で終了します。