我正在尝试从 google map api 返回的 XML 文件中获取地址(通过将 lat/lng 作为参数)。我正在使用以下代码。
XDocument doc = XDocument.Load("uri");
var city = doc.Descendants("result").Where(s => s.Descendants("type").FirstOrDefault().Value == "locality");
然后我正在为特定的后代阅读
address = Convert.ToString(city.Descendants("formatted_address").First().Value);
我试图在地图上显示。第一次一切正常(当我根据我的 IPAddress 获得 lat/lng 值时)但是当用户双击地图时(应该得到点击的位置),程序崩溃了。有时工作正常。我检查了一下,因为在返回的 xml 文件中,有时“结果”下没有节点类型“locality”。我为这种情况编写了 if 和 else if 语句,但调试器仍在 if 循环内部,后来显示错误“序列不包含元素”。在 WPF 应用程序中执行此操作。
例如:27/14 返回的唯一结果节点是类型国家和行政区域级别_1。