0

我正在尝试解析这个从 Virtual Earth 检索到的 XML;

<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 © 2013 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>
ebbe16390026429f967a06977c3bc94c|MIAM000025|02.00.150.1300|MIAMSNVM001367, EWRMSNVM003182
</TraceId>
<ResourceSets>
<ResourceSet>
<EstimatedTotal>1</EstimatedTotal>
<Resources>
<Location>
<Name>TE-V 1009, 44167 Camañas (TE)</Name>
<Point>
<Latitude>40.640868544578552</Latitude>
<Longitude>-1.1300414800643921</Longitude>
</Point>
<BoundingBox>
<SouthLatitude>40.637005827007876</SouthLatitude>
<WestLongitude>-1.1368284398869133</WestLongitude>
<NorthLatitude>40.644731262149229</NorthLatitude>
<EastLongitude>-1.1232545202418709</EastLongitude>
</BoundingBox>
<EntityType>Address</EntityType>
<Address>
<AddressLine>TE-V 1009</AddressLine>
<AdminDistrict>Aragon</AdminDistrict>
<AdminDistrict2>TE</AdminDistrict2>
<CountryRegion>Spain</CountryRegion>
<FormattedAddress>TE-V 1009, 44167 Camañas (TE)</FormattedAddress>
<Locality>Camañas</Locality>
<PostalCode>44167</PostalCode>
</Address>
<Confidence>Medium</Confidence>
<MatchCode>Good</MatchCode>
<GeocodePoint>
<Latitude>40.640868544578552</Latitude>
<Longitude>-1.1300414800643921</Longitude>
<CalculationMethod>Interpolation</CalculationMethod>
<UsageType>Display</UsageType>
<UsageType>Route</UsageType>
</GeocodePoint>
</Location>
</Resources>
</ResourceSet>
</ResourceSets>
</Response>

我已经在这里或某处寻找任何可能对我有用的答案。但是每个人都以其他方式询问他们想要什么,我找不到任何东西。我只想获取由“地址”组成的“位置”值作为字符串值。

我将此 XML 作为一个名为 MyXMLString 的字符串。

提前致谢。

4

1 回答 1

1

您可以使用XDocument.Parse

XDocument doc = XDocument.Parse(text);
// Just as an example of using the namespace...
XNamespace ns = "http://schemas.microsoft.com/search/local/ws/rest/v1";
foreach (var location in doc.Descendants(ns + "Address"))
{
    Console.WriteLine(location.Element(ns + "Locality").Value);
}

如果Parse在 Windows Phone 7 中不可用,您可以使用StringReader

var reader = new StringReader(text);
XDocument doc = XDocument.Load(reader);

或者,如果不起作用:

var bytes = Encoding.UTF8.GetBytes(text);
var stream = new MemoryStream(bytes);
XDocument doc = XDocument.Load(stream);
于 2013-06-26T20:03:44.670 回答