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.
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{ }
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(); }
On va mettre ca dans la FAQ car cela pourra servir un jour ou l'autre
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