2013-10-13 6 views
0

с использованием XML ниже, как мы можем извлечь значение широты и LNG с помощью LINQ к XML лямбда запросовкак извлечь XML узел с помощью LinqtoXml

<?xml version="1.0" encoding="UTF-8"?> 
<GeocodeResponse> 
<status>OK</status> 
<result> 
    <type>premise</type> 
    <formatted_address>Livingston, West Lothian EH54, UK</formatted_address> 
    <address_component> 
     <long_name>United Kingdom</long_name> 
     <short_name>GB</short_name> 
     <type>country</type> 
     <type>political</type> 
    </address_component> 
    <geometry> 
     <location> 
      <lat>55.8831307</lat> 
      <lng>-3.5162945</lng> 
     </location> 
     <location_type>APPROXIMATE</location_type> 
    </geometry> 
    <partial_match>true</partial_match> 
</result> 

я использую что-то вроде этого, чтобы извлечь другие узлы

var xDoc = XDocument.Parse(doc.OuterXml); 

     model = xDoc.Descendants("result").Select(c => 
        new 
        { 
         FullAddress = c.Element("formatted_address").Value, 
         CountryName = c.Descendants("address_component") 
         .First(e => e.Element("type").Value == "country").Element("long_name").Value, 
         }).First(); 
+0

это важно знать, какой идентификатор или связанный идентификатор, так что 'неправдоподобным info' пригоден. Он также ** определяет **, как мы получаем информацию с помощью LINQ to XML –

ответ

2
XDocument doc=XDocument.Load(url); 
var location=doc.Descendants("location") 
       .Select(x=> 
        new 
        { 
          lat=x.Element("lat").Value, 
          lng=x.Element("lng").Value 
        }).First(); 

location.lat; 
location.lng; 
Смежные вопросы