 |
|
 |
Anybody have a code snippet on how to make that happen? Seems like that's a big part of any rss reader no matter how simple.
|
|
|
|
 |
|
 |
Hi.
What are the terms of use ( License) of this particular code for commercial products?
Best Regards
Mike
|
|
|
|
 |
|
 |
Hi.
How can I read old feeds using C#? Like google reader reads all old new feeds while scrolling down and up.
Satalaj
|
|
|
|
 |
|
 |
Is this library available for free use in a non-commercial project?
Thanks
|
|
|
|
 |
|
 |
in the switch/case of the getRssItem-Method you compare against the "pubdate" string but according to the standard it should be "pubDate". Great work though
Graziano
|
|
|
|
 |
|
 |
You are right. To fix this, go to line number 552, and change "pubdate" to "pubDate".
I also changed reading of pubDate so that RssItem.PubDate is a DateTime variable, and the date gets parsed: rssItem.Pubdate = DateTime.Parse(xmlNode.ChildNodes[i].InnerText.Remove(xmlNode.ChildNodes[i].InnerText.IndexOf(" +")));
That way you can get out the date in any format you wish, for instance:
string date = String.Format("{0:dd.MM.yyyy}", feed.Items[i].PubDate)
|
|
|
|
 |
|
 |
Hi all,
I found another problem with this date (both for the rssfeed.pubdate and the rssitem.pubdate): in case of date in this format "Wed, 10 Nov 2010 03:20:28 EST" the conversion failes and so I used this code lines:
rssFeed.PubDate = DateTime.Parse(channelXmlNode.ChildNodes[i].InnerText.Substring(0, 25));
and
rssItem.PubDate = DateTime.Parse(xmlNode.ChildNodes[i].InnerText.Substring(0, 25));
I also changed the rssFeed.LastBuildDate in DateTime public DateTime LastBuildDate;
and so:
rssFeed.LastBuildDate = DateTime.Parse(channelXmlNode.ChildNodes[i].InnerText.Substring(0, 25));
I hope this is usefull!
CptHook
modified on Wednesday, November 10, 2010 4:46 AM
|
|
|
|
 |
|
|
 |
|
 |
Hello, thanks for explaining your code. Do you have any suggestions on how to process HTML code that's in the description node correctly? i.e. I have text between anchors, and also youtube videos in my blog, but it's not processing them in the feed reader and everything is just text. As a matter of fact, I don't even see the code for youtube videos. Thanks!
|
|
|
|
 |
|
 |
btw for example, sometimes i get \n\n\n in the description when there should be a lot of text, and youtube video...also...all the descriptions are truncated with [...]...i'm trying to reproduce what you would actually see when you go to the blog. I'm testing with a wordpress feed, which uses cdata in the description, which from what I read, should protect the Html, correct?
|
|
|
|
 |
|
 |
btw for example, sometimes i get \n\n\n in the description when there should be a lot of text, and youtube video...also...all the descriptions are truncated with [...]...i'm trying to reproduce what you would actually see when you go to the blog. I'm testing with a wordpress feed, which uses cdata in the description, which from what I read, should protect the Html, correct?
|
|
|
|
 |
|
 |
Hi, first of all, thanks for writing this article, it was a great help.
I'm extensively using your RSS reader class.
I would just like to mention a small bug here (as your website is down) :
You just forgot to match against the "link" markup, which is why the RssFeed.Link property is always an empty string.
Hope this helps.
Thanks again.
Mike
KameHouse Prod.
|
|
|
|
 |
|
 |
Wonderful piece of code. Small/Easy to understand/Easy to implement/ Easy to modify.
I want to do something like the Google Reader where you can choose more than 1 source feeds and display them all together.
Could I somehow extend this code to do that?
Thanks,
Bij
|
|
|
|
 |
|
 |
how can i read only new feeds... or do i have to read, then compare with what I have and then either skip it or consume it.
How do other RSS readers work?
|
|
|
|
 |
|
 |
Hi,
I've been looking for a RSS reader and I just find this one which is exactly what I was looking for it, but I have a problem with some characters.
For instance, if I get a mexican RRS channel: (http://mx.news.yahoo.com/rss/entretenimiento)
I get the following news:
AP - NUEVA YORK (AP) - Freddy RodrÃguez, el embalsamador de la exitosa serie televisiva "Six Feet Under", no tuvo escarbar demasiado hondo al prepararse para su papel de Mike Alonso en la pelÃcula "Harsh Times", que protagoniza junto a Christian Bale y Eva Longoria.
And it should be like this:
AP - NUEVA YORK (AP) - Freddy Rodríguez, el embalsamador de la exitosa serie televisiva "Six Feet Under", no tuvo escarbar demasiado hondo al prepararse para su papel de Mike Alonso en la película "Harsh Times", que protagoniza junto a Christian Bale y Eva Longoria.
but the special characters are not supported in the case for Spanish Language, do you have any recomendation to fix it?
The source code is very good, in fact is exactly what I was looking for it.
I will appreciate your feedback.
Thanks!!!!
Squalo
|
|
|
|
 |
|
 |
Can you change the template so it has
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
at the top (you'll need to edit the text in the richtextbox on the app). I've updated this in a new version of the app I'll be releasing in the next week or so, which also contains changes that people have suggested here.
|
|
|
|
 |
|
 |
Just to say thanks - your RSS code works perfectly for my needs, with no effort. Superb little class!
|
|
|
|
 |
|
 |
I needed PodCast Enclosure support - simple with this great code:
In function getRssItem add
case "enclosure":
{
rssItem.Enclosure.Url = xmlNode.ChildNodes[i].Attributes["url"].InnerText;
rssItem.Enclosure.Length = long.Parse(xmlNode.ChildNodes[i].Attributes["length"].InnerText);
rssItem.Enclosure.Type = xmlNode.ChildNodes[i].Attributes["type"].InnerText;
break;
}
Then add a new struct:
[Serializable()]
public struct RssEnclosure
{
///
/// The URL of the item.
///
public string Url;
///
///
public long Length;
///
///
public string Type;
}
And finally a reference to it in the RssItem struct:
public RssEnclosure Enclosure;
|
|
|
|
 |
|
 |
I am trying to build and run the code for .NET 2.0.
The main challenge I am facing is about accesing controls on different thread. Had to add delegate methods for any such requirement.
Also having problem with `Proxy Authentication Required`. Seems to be an issue with DTD\Scehma document. Need to have a copy of the document on local drive. But still not working correctly.
I have just spend couple of hours on this so my comments may be a little shallow.
Cheers
BEGIN
|
|
|
|
 |
|
 |
This seems to be something different in .net 2.0...
from help:
CheckForIllegalCrossThreadCalls
Property Value
true if calls on the wrong thread are caught; otherwise, false.
Remarks
When a thread other than the creating thread of a control tries to access one of that control's methods or properties, it often leads to unpredictable results. A common invalid thread activity is a call on the wrong thread that accesses the control's Handle property. Set CheckForIllegalCrossThreadCalls to true to find and diagnose this thread activity more easily.
So to get it to work, I put a CheckForIllegalCrossThreadCalls = false; in the readRss() method... probably a no no, but it worked... I guess I will be using delegates more often in the future.
smarkley
|
|
|
|
 |
|
 |
More info on how to solve the issue using delegates, please?
|
|
|
|
 |
|
 |
Ok, got it:
...
public delegate string GetComboBoxText();
GetComboBoxText _getComboBoxText;
public string MyGetComboBox()
{
return this.comboBox1.Text;
}
...
private void readRss()
{
...
RssFeed feed;
if (_getComboBoxText == null)
_getComboBoxText = new GetComboBoxText(MyGetComboBox);
string url;
if (this.InvokeRequired)
{
url = (string)this.Invoke(_getComboBoxText);
}
else
{
url = _getComboBoxText();
}
feed = rssReader.Retrieve(url);
...
Is that the right way?
|
|
|
|
 |
|
 |
As I know, this way is the "simple" (¿?) way, but microsoft recommends to use his BackGroundWorker object.
You can see more about this from MSDN.
|
|
|
|
 |
|
 |
if ( this.InvokeRequired )
{
this.Invoke( new MethodInvoker( readRss ) );
return;
}
put that at the top of private void readRss()
I'll update the project files at some point, along with the proxy server additions.
|
|
|
|
 |
|
 |
Great code, very useful! I was just wondering why you didn't add a simple:
XmlNodeList xnl = xmlDoc.SelectNodes("//rss");
System.Diagnostics.Debug.WriteLine("XNL: " + xnl.Count);
this.RdfMode = (xnl.Count == 0);
to the Retrieve(URL) function?
-ben
wiseleyb@gmail.com
|
|
|
|
 |