I try to get some data from Google Geocoding API with C# and ASP.net. But I have trouble with XML responce. I get valid XML and I can get evry element besides “address_component” element. (XML looks like this : http://maps.googleapis.com/…)
/* data is a string with XML from Google server */
XDocument receivedXml = new XDocument();
receivedXml = XDocument.Parse(data);
XName address = XName.Get("address_component");
var root = reciviedXml.Root; //returns corect XElement
XElement result = root.Element("result"); //returns corect XElement
IEnumerable<XElement> components = result.Elements("address_component"); //returns empty collection
This is another way, I’have tried it to with the same result.
var results = reciviedXml.Descendants("address_component");
And when I try to get some descendant of like:
var types = receivedXml.Descendants("type");
It’s the empty collection to. But another elements in “result” tag (like the “location” tag)I can get successfully.
Thanks for any advice.
The following:
Writes 10 and 28 respectively. Make sure you are using the same instance – in your question you usereceivedXml as well as reciviedXml so you may have two instances XDocument and one of these may contain different data. Also you don’t need to instantiate XDocument as XDocument.Parse() will do it for you (and the address variable seems to be unused)