IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dotnet Discussion :

Recupérer du Flux RSS dans ASP.NET c# [FAQ]


Sujet :

Dotnet

  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut Recupérer du Flux RSS dans ASP.NET c#
    Salut à tous,

    est ce que vous connaissez une méthode simple qui récup un flux rss à partir d'une url pour les afficher dans une WebPart.

    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    Salut à tous,

    J'ai fai une fonction qui reussi à recupéré un flux rss (un peu n'importe comment d'ailleur). Et je l'affiche (bon il est pas encore clicable). J'ai du mal à voir comment l'améliorer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
            String title=null ;
            String description= null;
            XmlTextReader rssReader = null;
            int itemCount = 0;
            try
            {
                WebRequest rssFeed = WebRequest.Create("http://msdn.microsoft.com/globalrss/rssaggregator_mtps.aspx?opml=/globalrss/fr-fr/global-MSDN-fr-fr.opml");
            rssReader = new XmlTextReader(rssFeed.GetResponse().GetResponseStream());
            while (rssReader.Read())
            {
            XmlReader itemReader = rssReader.ReadSubtree();
                while (itemReader.Read())
                        {
                            if (itemReader.IsStartElement())
                            {
     
                                if ("title" == itemReader.LocalName)
                                    title = itemReader.ReadString();
                                else if ("description" == itemReader.LocalName)
                                {
                                    string newDescription = itemReader.ReadString();
                                    //Truncate description to 100 characters
                                    if (newDescription.Length > 100)
                                        newDescription = newDescription.Substring(0, 100) +
     
                                        " ...";
                                    description = newDescription;
                                }
     
                            }
                            this.Label1.Text += title +"<br>";
     
                        }
            //[See the detail below]
     
            }
            }
            finally{
            }

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    J'été un peu con sur ce coup c'étai pas trop dure je vous met la solution que j'ai gardé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    String title=null ;
            String link= null;
            XmlTextReader rssReader = null;
            XmlReader itemReader = null;
            int itemCount = 0;
            try
            {
                WebRequest rssFeed = WebRequest.Create("http://msdn.microsoft.com/globalrss/rssaggregator_mtps.aspx?opml=/globalrss/fr-fr/global-MSDN-fr-fr.opml");
            rssReader = new XmlTextReader(rssFeed.GetResponse().GetResponseStream());
            while (rssReader.Read())
            {
            itemReader = rssReader.ReadSubtree();
                while (itemReader.Read())
                        {
                            if (itemReader.IsStartElement())
                            {
     
                                if ("title" == itemReader.LocalName){
                                    title = itemReader.ReadString();
     
                                }  
                                else if ("link" == itemReader.LocalName){
                                    link = itemReader.ReadString();
                                    this.Label1.Text += "<a href="+link+">" + title +"<br>";
                                    itemCount = itemCount+1;
                                }                          
     
     
                            }
                            if(itemCount>=5)
                                break;
     
     
                        }
     
                   if (itemCount >= 5)
                            break;         
            }
            }
            finally{
                if (itemReader != null) itemReader.Close();
            }

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    On va mettre ca dans la FAQ car cela pourra servir un jour ou l'autre



  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    1 377
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Points : 1 628
    Points
    1 628
    Par défaut
    ca marche

  6. #6
    Membre régulier Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    Points : 84
    Points
    84
    Par défaut
    salut

    Si on test tel quel on obtient un message d'erreur
    ReadSubtree() peut uniquement être appelé si le lecteur se trouve sur un noeud d'élément.
    Manque-t-il quelque chose ?

  7. #7
    Membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2009
    Messages : 61
    Points : 59
    Points
    59
    Par défaut Méthode ReadStartElement()
    Bonjour,

    Avant la première boucle il faut appeler la méthode 'ReadStartElement()'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    String title = null;
                String link = null;
                XmlTextReader rssReader = null;
                XmlReader itemReader = null;
                int itemCount = 0;
                try
                {
                    
                    
                    WebRequest rssFeed = WebRequest.Create("http://www.lemonde.fr/rss/une.xml");
    
                    rssReader = new XmlTextReader(rssFeed.GetResponse().GetResponseStream()); //.GetResponseStream());
    
                    rssReader.ReadStartElement();
    
                    while (rssReader.Read())
                    {
                        itemReader = rssReader.ReadSubtree();
                        while (itemReader.Read())
                        {
                            if (itemReader.IsStartElement())
                            {
    
                                if ("title" == itemReader.LocalName)
                                {
                                    title = itemReader.ReadString();
    
                                }
                                else if ("link" == itemReader.LocalName)
                                {
                                    link = itemReader.ReadString();
                                    this.Label1.Text += "<a href=" + link + ">" + title + "<br>";
                                    itemCount = itemCount + 1;
                                }
    
    
                            }
                            if (itemCount >= 5)
                                break;
    
    
                        }
    
                        if (itemCount >= 5)
                            break;
                    }
                }
                catch (Exception exp)
                {
                    Label1.Text = exp.Message;
                }
                finally
                {
                    if (itemReader != null) itemReader.Close();
                }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recupérer flux RSS dans SQL Server
    Par DooSquare dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/08/2010, 13h28
  2. Integrer un lecteur de flux RSS dans son application VB.Net
    Par L'informatikman dans le forum VB.NET
    Réponses: 2
    Dernier message: 07/03/2010, 14h06
  3. Intégrer des FLUX RSS dans mon site
    Par stanley dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 11/01/2007, 20h53
  4. Comment lire un flux rss en asp
    Par ch_lensois dans le forum ASP
    Réponses: 2
    Dernier message: 20/06/2006, 12h32
  5. Integration de flux rss dans un site
    Par ikeaboy dans le forum Général Conception Web
    Réponses: 13
    Dernier message: 23/01/2006, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo