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 Expert

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    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.
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  2. #2
    Membre Expert

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    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{
            }
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  3. #3
    Membre Expert

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    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();
            }
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

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

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



  5. #5
    Membre Expert

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 377
    Par défaut
    ca marche
    Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.

    Twitter Blog Mon site

    Mon article sur l'agilité

  6. #6
    Membre éclairé Avatar de anto
    Inscrit en
    Juin 2003
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 86
    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 confirmé
    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
    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, 12h28
  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, 13h06
  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, 19h53
  4. Comment lire un flux rss en asp
    Par ch_lensois dans le forum ASP
    Réponses: 2
    Dernier message: 20/06/2006, 11h32
  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, 14h51

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