عام

برمجة صفحة RSS خاصة لموقعك

إن تطور الويب جلب لنا العديد من التقنيات والأفكار البسيطة في فكرتها وفي مضمونها ، ولكنها ذات فائدة كبيرة من حيث توفير الوقت والجهد ومن هذه الخدمات خدمة ال RSS ، ولهذا فإنك كمطور مواقع ويب ، عليك أن تعرف على الأقل كيف تبني صفحة RSS بسيطة.

قبل بدء بناء الصفحة يجب أن نعلم المتصفح أن موقعنا به خدمة ال RSS  حتى يتفعل تلقائيا رابط أو أيقونة ال RSS ، وأفضل طريقة لذلك هو إضافة الوسوم الدليلة في صفحات الموقع كالتالي

<link rel=”alternate” type=”application/rss+xml” title=”Developers (RSS 2.0)” href=”RSS.aspx” />

السطر بالأعلى بسيط حيث حددنا اسم الخدمة وكذلك رابط الصفحة ونتائج محتوى الصفحة ، وتستطيع أن تغير رابط الصفحة مثلا بدلا من RSS.aspx  أن تضيف الصفحة التي ترغب بها

الآن أتى الجد وكتابة شيفرة الصفحة الرئيسية للخدمة

 

في حدث بدء تحميل الصفحة نحدد مخرجات الصفحة الحالية كالتالي

Response.Clear()

‘ Response.ContentType = “text/xml” يجوز هذا السطر أو السطر الذي يليه

Response.ContentType = “application/rss+xml;”

 

 

ثم بعدها نبدأ بعملية كتابة وسوم ال XML وهنا أتوقع أنك تعاملت مع ملفات XML  مسبقا وكتبت بها ، ولكن إن لم تكن كذلك فإن الشيفرة سهلة وفقط عليك تغيير الوسيطات كما ترغب

مع العلم أن  هذه الحقول أو الوسوم ليست من عندي وإنما هي أساسية لكل خدمة RSS

Dim xlw As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)

xlw.WriteStartDocument()

xlw.WriteStartElement(“rss”)

xlw.WriteAttributeString(“version”, “2.0”)

xlw.WriteStartElement(“channel”)

xlw.WriteElementString(“title”, “مقالات مطورو دوت نت “)

xlw.WriteElementString(“link”, “http://developers.ps/Defaulte.aspx”)

xlw.WriteElementString(“description”, “The latest headlines and articles from the world of ASP.NET,Microsoft() ‘s Web development platform.”)

xlw.WriteElementString(“copyright”, “(c) 2009, Developers . All rights reserved.”)

xlw.WriteElementString(“ttl”, “5”)

 

الان تبقالان تبقى خدمة جلب البيانات وكتابتها ، ويمكن فعل ذلك بالقراءة عبر قاعدة بيانات أو ملف XML  أو حتى من مستند نصي ، المهم أن تقوم بتعبئة البيانات على نفس النمط الذي سأستخدمه ، وأنا سأقوم بفعل ذلك باستخدام جدول من قاعدة بيانات ، وهو جدول المقالات

Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings(“connstr”).ConnectionString)

Dim cmd As SqlCommand = conn.CreateCommand

& cmd.CommandText = “select top 10 ID,Title,des,dob from Articles  order by id desc”

 

conn.Open()

Dim objReader As SqlDataReader = cmd.ExecuteReader()

While objReader.Read()

xlw.WriteStartElement(“item”)

xlw.WriteElementString(“title”, objReader.GetString(1))

xlw.WriteElementString(“description”, objReader.GetString(2))

xlw.WriteElementString(“link”, “http://developers.ps/News.aspx?id=” & objReader.GetInt32(0).ToString())

xlw.WriteElementString(“pubDate”, objReader.GetDateTime(3).ToString(“R”))

xlw.WriteEndElement()

End While

ثم سأقوم بإغلاق الوسوم والمسارات الحالية

objReader.Close()

xlw.WriteEndElement()

xlw.WriteEndElement()

xlw.WriteEndDocument()

xlw.Flush()

xlw.Close()

Response.End()

End Using

 

الآن أصبح لديك خدمة RSS  في موقعك بكل سهولة ويسر ومرفق أيضا صفحة جاهزة لمن لم يحالفه الحظ في نفس الشيفرة من هذا المقال.

رابط تحميل الشيفرة

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.