أريد دمج أخبار RSS من مواقع الويب الأخرى في صفحة الويب الخاصة بي. لقد تعلمت للتو كيفية القيام بذلك، لكنني لم أتمكن من القيام بذلك مطلقًا. وأخيرا نجحت اليوم! ربما هذه الطريقة غبية بعض الشيء! الفكرة هي تنزيل ملف XML على الملف المحلي ثم قراءة ملف XML المحلي، وهذا أمر سهل! لا أعلم إذا كان هناك طريقة أسهل، أتمنى أن يفيدني الخبراء!
الكود الأساسي هو كما يلي:
(استخدم webRequest للحصول على محتوى الصفحة المحددة، ثم استخدم FileStream لكتابته في ملف محلي)
الجزء الأساسي (قم بتنزيل ملف XML الخاص برابط RSS إلى الموقع المحلي!)
تنزيل_الفراغ الخاص (مرسل الكائن، System.EventArgs e)
{
ترميز sjis = Encoding.GetEncoding("utf-8");
FileStream fs = new FileStream(Server.MapPath(".")+" \sina.xml",FileMode.Create,FileAccess.Write );
// أنشئ StreamWriter للتحضير للكتابة
StreamWriter rw = new StreamWriter(fs,sjis);
Stringrl;
// إنشاء كائن WebRequest
WebRequest myReq = WebRequest.Create(" http://rss.sina.com.cn/news/marquee/ddt.xml");// اقرأ الملف البعيد (Sina News)، ثم استخدم FileStream لحفظ الملف محليًا !
// إنشاء كائن WebResponse
WebResponse myRes = myReq.GetResponse();
// احصل على الدفق
تيار resStream = myRes.GetResponseStream();
// العمليات التالية هي قراءة المحتوى الموجود في كائن الدفق
StreamReader sr = new StreamReader(resStream,sjis);
StringBuilder sb = new StringBuilder();
بينما((rl=sr.ReadLine())!=null)
{
rw.WriteLine(rl);
}
myRes.Close();
rw.Flush();
// أغلق كائن rw
rw.Close();
fs.Close();
msg.Text="تم التنزيل بنجاح!";
}
يمكنك إضافة حكم في البرنامج، مرة واحدة في بضع ساعات، أو مرة واحدة في اليوم!