إن تطور الويب جلب لنا العديد من التقنيات والأفكار البسيطة في فكرتها وفي مضمونها ، ولكنها ذات فائدة كبيرة من حيث توفير الوقت والجهد ومن هذه الخدمات خدمة ال RSS ، ولهذا فإنك كمطور مواقع ويب ، عليك أن تعرف على الأقل كيف تبني صفحة RSS بسيطة.
قبل بدء بناء الصفحة يجب أن نعلم المتصفح أن موقعنا به خدمة ال RSS حتى يتفعل تلقائيا رابط أو أيقونة ال RSS ، وأفضل طريقة لذلك هو إضافة الوسوم الدليلة في صفحات الموقع كالتالي
السطر بالأعلى بسيط حيث حددنا اسم الخدمة وكذلك رابط الصفحة ونتائج محتوى الصفحة ، وتستطيع أن تغير رابط الصفحة مثلا بدلا من 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 في موقعك بكل سهولة ويسر ومرفق أيضا صفحة جاهزة لمن لم يحالفه الحظ في نفس الشيفرة من هذا المقال.