Как запросить адрес?(LINQ to XML) - PullRequest
3 голосов
/ 15 октября 2011
<Response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">
<Copyright>
Copyright © 2011 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.
</Copyright>
<BrandLogoUri>
[http://dev.virtualearth.net/Branding/logo_powered_by.png]
</BrandLogoUri>
<StatusCode>200</StatusCode>
<StatusDescription>OK</StatusDescription>
<AuthenticationResultCode>ValidCredentials</AuthenticationResultCode>
<TraceId>
50230e70257e4ed5a5002a3d4a625c83|LTSM001156|02.00.159.1700|LTSMSNVM001471, LTSMSNVM001477
</TraceId>
<ResourceSets>
<ResourceSet>
<EstimatedTotal>1</EstimatedTotal>
<Resources>
<Location>
<Name>1 Microsoft Way, Redmond, WA 98052</Name>
<Point>
<Latitude>47.640568390488625</Latitude>
<Longitude>-122.1293731033802</Longitude>
</Point>
<BoundingBox>
<SouthLatitude>47.636705672917948</SouthLatitude>
<WestLongitude>-122.137016420622</WestLongitude>
<NorthLatitude>47.6444311080593</NorthLatitude>
<EastLongitude>-122.1217297861384</EastLongitude>
</BoundingBox>
<EntityType>Address</EntityType>
<Address>
<AddressLine>1 Microsoft Way</AddressLine>
<AdminDistrict>WA</AdminDistrict>
<AdminDistrict2>King Co.</AdminDistrict2>
<CountryRegion>United States</CountryRegion>
<FormattedAddress>1 Microsoft Way, Redmond, WA 98052</FormattedAddress>
<Locality>Redmond</Locality>
<PostalCode>98052</PostalCode>
</Address>
<Confidence>Medium</Confidence>
</Location>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>

Как я могу запросить населенный пункт с адреса.Этот текст является LINQ to XML объект, я думаю.Я попытался var asdf = из q в xmlLocation.Elements ("Адрес"), выберите q.Element ("Местность"). Значение;а не работа, почему?

Если вы знаете, пожалуйста, напишите мне спасибо

Ответы [ 2 ]

1 голос
/ 15 октября 2011
var ns = XNamespace.Get("http://schemas.microsoft.com/search/local/ws/rest/v1");
var asdf = from q in xmlLocation.Descendants(ns + "Address") 
           select q.Element(ns + "Locality").Value;
1 голос
/ 15 октября 2011

пространства имен XML; поскольку ваши данные не находятся в пространстве имен по умолчанию, вам необходимо:

XNamespace ns = "http://schemas.microsoft.com/search/local/ws/rest/v1";

А затем используйте это во всех ваших запросах, т.е.

var asdf = from q in xmlLocation.Elements(ns + "Address")
           select (string) q.Element(ns + "Locality");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...