Reading attributes from RSS feed

Posted on 2008-10-06
Medium Priority
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?


I did plan on using the class provided here to keep the code succinct.

MSDN reference to SyndicationFeed
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);
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

Question by:brene
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
LVL 13

Expert Comment

ID: 22657834
are you using .net 3.5?

Author Comment

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

Expert Comment

ID: 22666401

Author Comment

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"/>

Accepted Solution

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


Featured Post

WordPress Tutorial 2: Terminology

An important part of learning any new piece of software is understanding the terminology it uses. Thankfully WordPress uses fairly simple names for everything that make it easy to start using the software.

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…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …
Suggested Courses

752 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