Jump to content
luiscastro

Ler Xml

Recommended Posts

luiscastro

Boa tarde.......Malta, estou a desenvolver uma aplicação para WP7, usando silverlight, que obtém informação por coordenas sobre a meteorologia para determinada cidade...

Estou com um problema em ler um xml e pegar campos dele:

http://www.google.com/ig/api?weather=Viana+do+castelo

estou a usar o seguinte código:

public void WS_Metereologia()
        {
            WebClient wc1 = new WebClient();

            //Cidade,Freguesia:
            wc1.OpenReadAsync(new Uri("http://www.google.com/ig/api?weather=Viana+do+castelo", UriKind.Absolute));

            wc1.OpenReadCompleted += wc1_OpenReadCompleted;
        }

        private void wc1_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
        {
            if (e.Error != null)
            {
                textBlock1.Text = e.Error.Message;
                return;
            }
            using (Stream s = e.Result)
            {
                XDocument doc = XDocument.Load(s);
                //textBlock1.Text = doc.ToString(SaveOptions.OmitDuplicateNamespaces);
                var timezones = from c in doc.Descendants("forecast_information")
                                select new
                                {
                                    FirstName = c.Element("city").Value
                                };
                foreach (var timezone in timezones)
                {
                    textBlock1.Text += timezone.FirstName;
                }
            }
        }

Consigo listar informações se usar este código se o aplicar a este xml:

http://where.yahooapis.com/geocode?q=41.73705966188177,-8.680915832519531&gflags=R&appid=dj0yJmk9TWdocHFVb3BQRjdQJmQ9WVdrOWRrSmxSR0l3TkRJbWNHbzlNVFF4TXpVNE1qYzJNZy

Presumo que o problema seja nos nodes dentro de nodes do xml......

Se alguem me poder ajudar ou mesmo indicar um exemplo funcional para o meu problema fico muito agradecido

Saudações....

Share this post


Link to post
Share on other sites
vesteves

Caro luiscastro, se o que pretende é obter o nome da cidade, que se encontra definido como atributo do elemento "city", então deve usar:

c.Element("city").Attribute("data").Value

Cumprimentos,

Virgílio

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.