Ich möchte RSS-Nachrichten von anderen Websites in meine eigene Webseite integrieren. Ich habe gerade gelernt, wie das geht, habe es aber noch nie geschafft. Heute ist es endlich gelungen! Vielleicht ist diese Methode etwas dumm! Die Idee besteht darin, die XML-Datei lokal herunterzuladen und dann das lokale XML zu lesen. Das ist einfach! Ich weiß nicht, ob es einen einfacheren Weg gibt, ich hoffe, Experten können mich aufklären!
Der Kerncode lautet wie folgt:
(Verwenden Sie webRequest, um den Inhalt der angegebenen Seite abzurufen, und schreiben Sie ihn dann mit FileStream in eine lokale Datei.)
Kernteil (Laden Sie die XML-Datei des RSS-Links auf den lokalen Server herunter!)
private void download_Click(object sender, System.EventArgs e)
{
Kodierung sjis = Encoding.GetEncoding("utf-8");
FileStream fs = new FileStream(Server.MapPath(".")+" \sina.xml",FileMode.Create,FileAccess.Write );
// StreamWriter erstellen, um das Schreiben vorzubereiten
StreamWriter rw = new StreamWriter(fs,sjis);
stringrl;
//WebRequest-Objekt erstellen
WebRequest myReq = WebRequest.Create(" http://rss.sina.com.cn/news/marquee/ddt.xml");//Lesen Sie die Remote-Datei (Sina News) und verwenden Sie dann FileStream, um die Datei lokal zu speichern !
//WebResponse-Objekt erstellen
WebResponse myRes = myReq.GetResponse();
//Stream abrufen
Stream resStream = myRes.GetResponseStream();
// Die folgenden Vorgänge dienen zum Lesen des Inhalts im Stream-Objekt
StreamReader sr = new StreamReader(resStream,sjis);
StringBuilder sb = new StringBuilder();
while((rl=sr.ReadLine())!=null)
{
rw.WriteLine(rl);
}
myRes.Close();
rw.Flush();
//Schließe das RW-Objekt
rw.Close();
fs.Close();
msg.Text="Download erfolgreich!";
}
Sie können dem Programm alle paar Stunden oder einmal am Tag ein Urteil hinzufügen!