0

使用下面的 XML 我们如何使用 linq to xml lambda 查询提取 lat 和 lng 的值

<?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();
4

1 回答 1

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;
于 2013-10-13T18:14:45.093 回答