112 votes

Meilleure façon de lire les flux rss en .net en utilisant C #

Quelle est la meilleure façon de lire les flux RSS.

J'utilise XmlTextReader pour y parvenir. Y at-il une autre meilleure façon de le faire.

 XmlTextReader reader = new XmlTextReader(strURL);

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

Après avoir lu le flux RSS à l'aide de XmlTextReader, existe-t-il un moyen que je puisse utiliser pour répertorier les éléments au lieu de l'ensemble de données?

entrez la description de l'image ici

198voto

dlopezgonzalez Points 890

Ajouter System.ServiceModel dans les références

Utilisation de 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;
            ...                
        }
 

88voto

Matthew Vines Points 14425

L' System.ServiceModel.Syndication de l'espace de noms a quelques trucs pour vous, à savoir la SyndicationFeed classe.

C'est assez simple exemple. http://blogs.msdn.com/b/steveres/archive/2008/01/20/using-syndicationfeed-to-displaying-photos-from-spaces-live-com.aspx

9voto

SLaks Points 391154

Vous recherchez la classe SyndicationFeed , qui fait exactement cela.

3voto

Mahdi jokar Points 509

Utilisez ceci :

 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);

        }



    }
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X