これらの結果をループしたいと思います (現在は 2 つですが、場合によっては最大 100 になる可能性があります)。ノード内の国コードの特定の値に一致するものを見つけたら、同じノード<doc>
から緯度と経度の値を選択したいと考えています。<doc>
たとえば、countrycode 値 'US' を検索している場合、それぞれの経度と緯度の値-79.0236
とを返したいとします。35.1379
以下の XML が XMLDocument 変数に読み込まれる ASP.NET で実行しようとしていますobjXML
。
国コードを選択する方法は知っていますが、関連する緯度と経度のノードを取得する方法はわかりません。
objXML.SelectSingleNode("//response/result/doc/str[@name='US']").InnerText
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">3</int>
<lst name="params">
<str name="facet">false</str>
<str name="fl">id,geonameid,title,latitude,longitude,countrycode</str>
<str name="indent">off</str>
<str name="start">0</str>
<str name="q">title_search:*nijmegen*</str>
<str name="rows">10</str>
<str name="defType">lucene</str>
</lst>
</lst>
<result name="response" numFound="2" start="0">
<doc>
<str name="countrycode">US</str>
<str name="title">Nijmegen</str>
<str name="longitude">-79.0236</str>
<str name="geonameid">4482161.0</str>
<str name="latitude">35.1379</str>
</doc>
<doc>
<str name="countrycode">NL</str>
<str name="title">nijmegen</str>
<str name="longitude">5.85278</str>
<str name="geonameid">2750053.0</str>
<str name="latitude">51.8425</str>
</doc>
</result>
</response>