Лучший способ прочитать rss-канал in.net использование C#



как лучше всего читать RSS-каналы?



я использую XmlTextReader для достижения этой цели. Есть ли другой лучший способ сделать это?



XmlTextReader reader = new XmlTextReader(strURL);

DataSet ds = new DataSet();
ds.ReadXml(reader);


после прочтения RSS-канал используя XmlTextReader, есть ли способ я могу заполнить данные ListItem вместо DataSet?



enter image description here

662   5  

5 ответов:

на System.ServiceModel.Syndication пространство имен имеет некоторые вещи, а именно SyndicationFeed класса.

Это довольно простой пример. http://blogs.msdn.com/b/steveres/archive/2008/01/20/using-syndicationfeed-to-displaying-photos-from-spaces-live-com.aspx

добавить System.ServiceModel ссылки

используя SyndicationFeed:

string url = "http://fooblog.com/feed";
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
foreach (SyndicationItem item in feed.Items)
{
    String subject = item.Title.Text;    
    String summary = item.Summary.Text;
    ...                
}

Вы ищите SyndicationFeed класс, который делает именно это.

Это старый пост, но чтобы сэкономить людям некоторое время, если вы получите здесь сейчас, как я сделал, я предлагаю вам взглянуть на CodeHollow.FeedReader пакет, который поддерживает более широкий спектр версий RSS, проще в использовании и кажется более надежным. https://github.com/codehollow/FeedReader

используйте этот :

private string GetAlbumRSS(SyndicationItem album)
    {

        string url = "";
        foreach (SyndicationElementExtension ext in album.ElementExtensions)
            if (ext.OuterName == "itemRSS") url = ext.GetObject<string>();
        return (url);

    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string albumRSS;
        string url = "http://www.SomeSite.com/rss‎";
        XmlReader r = XmlReader.Create(url);
        SyndicationFeed albums = SyndicationFeed.Load(r);
        r.Close();
        foreach (SyndicationItem album in albums.Items)
        {

            cell.InnerHtml = cell.InnerHtml +string.Format("<br \'><a href='{0}'>{1}</a>", album.Links[0].Uri, album.Title.Text);
            albumRSS = GetAlbumRSS(album);

        }



    }

Comments

    Ничего не найдено.