Solved

Reading attributes from RSS feed

Posted on 2008-10-06
5
1,303 Views
Last Modified: 2013-11-18
I'm trying to consume this RSS feed below. How do I get the min, max, etc attributes from the w:forecast node using the SyndicationFeed or some other method?

http://rss.weather.com.au/sa/parafield

I did plan on using the class provided here to keep the code succinct.
http://www.clariusconsulting.net/blogs/kzu/archive/2007/11/22/ForgetaboutwritingAtomorRSSXMLhandlingcodeeveragain.aspx

MSDN reference to SyndicationFeed
http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx
WebClient client = new WebClient();

client.Proxy = new WebProxy(proxyAddress, true);
 

Stream strm = client.OpenRead("http://rss.weather.com.au/sa/parafield");

XmlReader reader = XmlReader.Create(strm);
 

SyndicationFeedFormatter formatter = SyndicationFormatterFactory.CreateFeedFormatter(reader);

formatter.ReadFrom(reader);

SyndicationFeed feed = formatter.Feed;
 

Collection<string> timeToLive = feed.ElementExtensions.ReadElementExtensions<string>("ttl", "");

double ttl = 30;

if (timeToLive.Count > 0)

    ttl = Double.Parse(timeToLive[0]);

Open in new window

0
Comment
Question by:brene
  • 3
  • 2
5 Comments
 
LVL 13

Expert Comment

by:SameerJagdale
ID: 22657834
are you using .net 3.5?
0
 
LVL 4

Author Comment

by:brene
ID: 22664926
Yes, that is why I want to take advantage of the SyndicationFeed class but I'll use any method that works.
0
 
LVL 13

Expert Comment

by:SameerJagdale
ID: 22666401
0
 
LVL 4

Author Comment

by:brene
ID: 22666763
That link shows how to create a feed. I'm trying to get the data from an existing feed so that doesn't help.

What I want is the information contained in the w:forecast node eg.
<w:forecast day="Thursday" description="Early Fog Followed by Sun. Mild." min="8" max="21" icon="12" iconUri="http://www.weather.com.au/images/icons/12.gif" iconAlt="Early Fog Followed by Sun"/>
0
 
LVL 4

Accepted Solution

by:
brene earned 0 total points
ID: 22684156
Worked it out myself.
var items = from i in feed.Items

			select new

			{

				Title = i.Title.Text,

				Link = i.Links[0].Uri.ToString(),

				Ext = i.ElementExtensions

			};

foreach (var item in items)

{

	currWeather.Title = item.Title;

	currWeather.Link = item.Link;

	foreach (SyndicationElementExtension extension in item.Ext)

	{

		if (extension.OuterName == "current")

		{

			XmlReader xReader = extension.GetReader();

			if (xReader.HasAttributes)

			{

				currWeather.Temperature = Double.Parse(xReader["temperature"]);

				currWeather.DewPoint = Double.Parse(xReader["dewPoint"]);

				currWeather.Humidity = Double.Parse(xReader["humidity"]);

				currWeather.WindSpeed = Double.Parse(xReader["windSpeed"]);

				currWeather.WindGusts = Double.Parse(xReader["windGusts"]);

				currWeather.WindDirection = xReader["windDirection"];

				currWeather.Pressure = Double.Parse(xReader["pressure"]);

				currWeather.Rain = Double.Parse(xReader["rain"]);

			}

		}

	}

}

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Shoutout to Emily Plummer (http://www.experts-exchange.com/members/eplummer26.html) for giving me this article! She did most of it, I just finished it up and posted it for her :)    Introduction In a previous article (http://www.experts-exchang…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now