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.
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é
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é
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é
On va mettre ca dans la FAQ car cela pourra servir un jour ou l'autre
![]()
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
ca marche![]()
Échouer, c'est avoir la possibilité de recommencer de manière plus intelligente.
Twitter Blog Mon site
Mon article sur l'agilité
salut
Si on test tel quel on obtient un message d'erreur
Manque-t-il quelque chose ?ReadSubtree() peut uniquement être appelé si le lecteur se trouve sur un noeud d'élément.
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(); }
Partager