Je souhaite intégrer les actualités RSS d'autres sites Web dans ma propre page Web. Je viens d'apprendre comment le faire, mais je n'ai jamais réussi à le faire. Finalement réussi aujourd'hui ! Peut-être que cette méthode est un peu stupide ! L'idée est de télécharger le fichier XML en local puis de lire le XML local. C'est simple ! Je ne sais pas s’il existe un moyen plus simple, j’espère que des experts pourront m’éclairer !
Le code de base est le suivant :
(Utilisez webRequest pour obtenir le contenu de la page spécifiée, puis utilisez FileStream pour l'écrire dans un fichier local)
Partie centrale (téléchargez le fichier XML du lien RSS en local !)
private void download_Click (expéditeur de l'objet, System.EventArgs e)
{
Encodage sjis = Encoding.GetEncoding("utf-8");
FileStream fs = new FileStream(Server.MapPath(".")+" \sina.xml",FileMode.Create,FileAccess.Write );
//Créez StreamWriter pour préparer l'écriture
StreamWriter rw = new StreamWriter(fs,sjis);
chaînerl;
//Créer un objet WebRequest
WebRequest myReq = WebRequest.Create(" http://rss.sina.com.cn/news/marquee/ddt.xml");//Lisez le fichier distant (Sina News), puis utilisez FileStream pour enregistrer le fichier localement !
//Créer un objet WebResponse
WebResponse myRes = myReq.GetResponse();
//Obtenir le flux
Flux resStream = myRes.GetResponseStream();
//Les opérations suivantes consistent à lire le contenu de l'objet Stream
StreamReader sr = nouveau StreamReader(resStream,sjis);
StringBuilder sb = new StringBuilder();
while((rl=sr.ReadLine())!=null)
{
rw.WriteLine(rl);
}
maRes.Close();
rw.Flush();
//Ferme l'objet rw
rw.Close();
fs.Close();
msg.Text="Téléchargement réussi!";
}
Vous pouvez ajouter un jugement dans le programme, une fois toutes les quelques heures, ou une fois par jour !