ฉันต้องการรวมข่าวสาร RSS จากเว็บไซต์อื่น ๆ ลงในหน้าเว็บของฉันเอง ฉันเพิ่งเรียนรู้วิธีการทำ แต่ฉันไม่เคยทำได้ ในที่สุดวันนี้ก็ทำสำเร็จ! บางทีวิธีนี้อาจจะโง่ไปหน่อย! แนวคิดคือการดาวน์โหลดไฟล์ XML ไปยังท้องถิ่นแล้วอ่าน XML ในเครื่อง ง่ายมาก! ฉันไม่รู้ว่ามีวิธีที่ง่ายกว่านี้ไหม ฉันหวังว่าผู้เชี่ยวชาญจะช่วยให้ฉันกระจ่างขึ้น!
รหัสหลักมีดังนี้:
(ใช้ webRequest เพื่อรับเนื้อหาของเพจที่ระบุ จากนั้นใช้ FileStream เพื่อเขียนลงในไฟล์ในเครื่อง)
ส่วนหลัก (ดาวน์โหลดไฟล์ XML ของลิงก์ RSS ไปยังท้องถิ่น!)
โมฆะส่วนตัว download_Click (ผู้ส่งวัตถุ System.EventArgs e)
-
การเข้ารหัส sjis = Encoding.GetEncoding("utf-8");
FileStream fs = ใหม่ FileStream(Server.MapPath(".")+" \sina.xml",FileMode.Create,FileAccess.Write );
//สร้าง StreamWriter เพื่อเตรียมพร้อมในการเขียน
StreamWriter rw = StreamWriter ใหม่ (fs, sjis);
stringrl;
//สร้างวัตถุ WebRequest
WebRequest myReq = WebRequest.Create(" http://rss.sina.com.cn/news/marquee/ddt.xml");// อ่านไฟล์ระยะไกล (Sina News) จากนั้นใช้ FileStream เพื่อบันทึกไฟล์ในเครื่อง !
//สร้างวัตถุ WebResponse
การตอบสนองของเว็บ myRes = myReq.GetResponse();
//รับสตรีม
สตรีม resStream = myRes.GetResponseStream();
//การดำเนินการต่อไปนี้คือการอ่านเนื้อหาในวัตถุ Stream
StreamReader sr = StreamReader ใหม่ (resStream, sjis);
StringBuilder sb = StringBuilder ใหม่ ();
ในขณะที่((rl=sr.ReadLine())!=null)
-
rw.WriteLine(rl);
-
myRes.ปิด();
rw.ฟลัช();
//ปิดวัตถุ rw
rw.ปิด();
fs.ปิด();
msg.Text="ดาวน์โหลดสำเร็จ!";
}
คุณสามารถเพิ่มการตัดสินในโปรแกรมได้ ครั้งละไม่กี่ชั่วโมง หรือวันละครั้ง!