Lidt hjælp med min kode som er begyndt at returnere tomme lister
Er ved at lave en lille RssFeed læser og den virker egentlig fint nok, besluttede mig for at rydde lidt op i koden så det kunne blive lidt nemmere at læse, men så opstod mit problem, når jeg forsøger at hente mit rss feed ud fra min rssAdapter er det tomt. den kode som downloader rssfeed'et har jeg placeret i en loadRss metode i rssAdapter klassen og da koden befandt sig i page load eventen virkede den fint, men nu hvor jeg henter rsslisten ud fra rssAdapter er den bare tom, hvilket jeg ikke lige kan forstå, håber nogen kan hjælpe.min page load event kode.
protected void Page_Load(object sender, EventArgs e)
{
string rssUrl = "http://www.dotnetforum.dk/blogs/MainFeed.aspx?GroupID=15";
RssAdapter rssAdapter = new RssAdapter(rssUrl, 10);
rssRepeader.DataSource = rssAdapter.RssList;
rssRepeader.DataBind();
}
RssAdapter klassen
using System;
using System.Collections.Generic;
using System.Xml;
using System.Xml.XPath;
public class RssAdapter
{
private int rssItems;
private string RssUrl;
List<RssObject> rssList;
public List<RssObject> RssList
{
get { return rssList; }
}
public RssAdapter(string url, int rssItemsToRead)
{
rssItems = rssItemsToRead;
RssUrl = url;
rssList = new List<RssObject>();
loadRss();
string test = "";
}
private void loadRss()
{
List<RssObject> rssList = new List<RssObject>();
XPathDocument document = new XPathDocument(RssUrl);
XPathNavigator navigator = document.CreateNavigator();
XmlNamespaceManager slashManager = new XmlNamespaceManager(navigator.NameTable);
slashManager.AddNamespace("slash", "http://purl.org/rss/1.0/modules/slash/");
XmlNamespaceManager dcManager = new XmlNamespaceManager(navigator.NameTable);
dcManager.AddNamespace("dc", "http://purl.org/dc/elements/1.1/");
XPathNodeIterator nodes = navigator.Select("/rss/channel/item");
for (int i = 0; i < rssItems; i++)
{
nodes.MoveNext();
RssObject rssObject = new RssObject();
rssObject.Title = nodes.Current.SelectSingleNode("title").ToString();
rssObject.Link = nodes.Current.SelectSingleNode("link").ToString();
rssObject.ParsePubDateString(nodes.Current.SelectSingleNode("pubDate").ToString());
rssObject.Guid = nodes.Current.SelectSingleNode("guid").ToString();
rssObject.Dc_creator = nodes.Current.SelectSingleNode("dc:creator", dcManager).ToString();
rssObject.Slash_comments = nodes.Current.SelectSingleNode("slash:comments", slashManager).ToString();
rssObject.Description = nodes.Current.SelectSingleNode("description").ToString();
rssList.Add(rssObject);
}
}
}
