【发布时间】:2014-05-13 00:39:25
【问题描述】:
目标: 我正在尝试从 xml 文件中检索城市名称
我正在使用一个 api,它可以通过指示 latitude 和 longtitude 为我提供我需要的所有信息。
这是我正在使用的完整 XML 的 URL: http://dev.virtualearth.net/REST/v1/Locations/50,50?o=xml&key=Avu1gnmc6hy50Jsb-l3U_iTbKyOXI2wnsVS1tj7UMtwJxesB9WDZs_qyG0zKgpkZ
这里是返回的 XML 的摘录,显示了相关部分:
<?xml version="1.0" encoding="UTF-8"?>
<Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">
...
<ResourceSets>
<ResourceSet>
<EstimatedTotal>1</EstimatedTotal>
<Resources>
<Location>
<Name>Kaztalovskiy rayon, Kazakhstan</Name>
...
<Address>
<AdminDistrict>Batys Qazaqstan</AdminDistrict>
<CountryRegion>Kazakhstan</CountryRegion>
<FormattedAddress>Kaztalovskiy rayon, Kazakhstan</FormattedAddress>
<Locality>Kaztalovskiy rayon</Locality>
</Address>
...
</Location>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>
这是我尝试过的:
HttpClient Client = new HttpClient();
string Result = await Client.GetStringAsync("http://dev.virtualearth.net/REST/v1/Locations/ " + position.Coordinate.Latitude +", " + position.Coordinate.Longitude +"?o=xml&key=Avu1gnmc6hy50Jsb-l3U_iTbKyOXI2wnsVS1tj7UMtwJxesB9WDZs_qyG0zKgpkZ");
XDocument ResultDocument = XDocument.Parse(Result);
XElement AddressElement = ResultDocument.Root.Element("ResourceSets");
string City = AddressElement.Element("Locality").Value;
我需要获取 <ResourceSets> 大块内的信息。里面有另一个块,叫做<Address>。
我不确定如何从中获取<Locality> 字段的内容,我知道它在<ResourceSets> 的大块中,但我怎样才能更深入地了解它并告诉读者让我知道具体领域?
【问题讨论】:
标签: c# xml windows-store-apps linq-to-xml