Quero integrar notícias RSS de outros sites em minha própria página. Acabei de aprender como fazer, mas nunca consegui. Finalmente consegui hoje! Talvez este método seja um pouco estúpido! A ideia é baixar o arquivo XML para o local e depois ler o XML local. Não sei se existe uma maneira mais fácil, espero que os especialistas possam me esclarecer!
O código principal é o seguinte:
(Use webRequest para obter o conteúdo da página especificada e, em seguida, use FileStream para gravá-lo em um arquivo local)
Parte central (baixe o arquivo XML do link RSS para o local!)
private void download_Click (remetente do objeto, System.EventArgs e)
{
Codificação sjis = Encoding.GetEncoding("utf-8");
FileStream fs = new FileStream(Server.MapPath(".")+" \sina.xml",FileMode.Create,FileAccess.Write );
//Cria StreamWriter para preparar a escrita
StreamWriter rw = novo StreamWriter(fs,sjis);
stringrl;
//Cria objeto WebRequest
WebRequest myReq = WebRequest.Create(" http://rss.sina.com.cn/news/marquee/ddt.xml");//Leia o arquivo remoto (Sina News) e use FileStream para salvar o arquivo localmente !
//Cria objeto WebResponse
WebResponse myRes = myReq.GetResponse();
//Obter transmissão
Fluxo resStream = myRes.GetResponseStream();
//As seguintes operações são para ler o conteúdo no objeto Stream
StreamReader sr = novo StreamReader(resStream,sjis);
StringBuilder sb = new StringBuilder();
while((rl=sr.ReadLine())!=nulo)
{
rw.WriteLine(rl);
}
meuRes.Close();
rw.Flush();
//Fecha o objeto rw
rw.Fechar();
fs.Fechar();
msg.Text="Download bem-sucedido!"
}
Você pode adicionar um julgamento no programa, uma vez a cada poucas horas ou uma vez por dia!