ایجاد فایل های RSS و نحوه استفاده از آنان ( بخش دوم )


در بخش اول این مقاله با فایل های RSS و موارد استفاده از آنان آشنا شدیم . در بخش دوم به بررسی نحوه ایجاد فایل های RSS با استفاده از یک بانک اطلاعاتی و بهنگام سازی اتوماتیک آنان خواهیم پرداخت .
اطلاعات موجود در فایل های RSS را می توان به صورت دستی و با استفاده از یک ادیتور متنی و یا یک ادیتور XML ایجاد نمود. در صورتی که فرکانس تغییر اطلاعات زیاد باشد، روش فوق گزینه ای مناسب نخواهد بود. در چنین مواردی می توان اطلاعات مورد نظر را از بانک اطلاعاتی مربوطه ( اخبار ، مقالات ) بازیابی و آنان را در فایل RSS درج نمود . بدین ترتیب در صورت بروز هر گونه تغییر در بانک اطلاعاتی ، فایل RSS نیز به صورت اتوماتیک بهنگام می گردد.

مثال : ایجاد RSS با استفاده از یک بانک اطلاعاتی
در این مثال قصد د اریم اطلاعات را از یک بانک اطلاعاتی اکسس خوانده و به صورت یک فایل XML با فرمت RSS ذخیره نمائیم .


فرضیات :



  • بانک اطلاعاتی نمونه : RSS.mdb
  • جدول حاوی لینک های مورد نظر: XMLlink
  • جدول XMLLink در بانک اطلاعاتی rss.mdb دارای لی اوت زیر است . اسامی فیلدها در جدول XMLlink مشابه اسامی مورد نیاز یک فایل RSS 2.0 در نظر گرفته شده اند .























    اندازه


    نوع


    نام فیلد



    Date/Time


    PubDate


    100


    Text


    Title


    100


    Text


    Link


    Memo


    Description


ایجاد یک فایل RSS

مرحله اول : تایپ کد زیر با استفاده از یک ویرایشگر
اسکریپت های زیر یک فایل RSS 2.0 را با توجه به اطلاعات موجود در بانک اطلاعاتی RSS.mdb ایجاد و آن را با نام RSS.XML در فهرست ریشه وب مورد نظر ذخیره می نماید.




 


مرحله دوم : پس از ذخیره کد فوق در فایلی با نام MakeRss.aspx و اجرای آن ، فایل RSS.xml ایجاد می گردد .


توضیحات :




  • به منظور بازیابی رکوردهای موجود در بانک اطلاعاتی و ایجاد یک فایل RSS از ساختار تکرار While استفاده شده است .



  • به منظور نوشتن رکوردهای بازیابی شده در فایل RSS از کلاس StreamWriter دات نت استفاده شده است . بنابراین لازم است که از System.IO در ابتدای برنامه استفاده شود . ( " Import Namespace="System.IO )



  • namespace فوق کلاس های StreamReader و StreamWriter را به منظور خواندن و نوشتن در فایل های text ارائه می نماید.



  • کلاس StreamReader دارای متدهای متفاوتی به منظور خواندن فایل های text است :







Dim FileReader As StreamReader

FileReader = File.OpenText(path)
FileLine = FileReader.ReadLine()
FileContents = FileReader.ReadToEnd()

FileReader.Close()




  • FileReader متغیری است که به عنوان یک شی StreamReader تعریف شده است . متد openText فایل موجود در مسیر مشخص شده را به شی FileReader نسبت می دهد . متد ReadLine یک خط از فایل text را بدون در نظر گرفتن کاراکتر Line-break ، می خواند. با استفاده از متد ReadToEnd تمامی محتویات فایل با لحاظ نمودن کاراکترهای line-break ، خوانده می شوند. از متد close پس از اتمام کار و به منظور بستن فایل استفاده می گردد .




  • کلاس StreamWriter دارای متدهای متفاوتی به منظور نوشتن در فایل های text است :







Dim FileWriter As StreamWriter

FileWriter = File.CreateText(path)
FileWriter = File.AppendText(path)
FileWriter.WriteLine(text)
FileWriter.Write(text)

FileWriter.Close()




  • FileWriter متغیری است که به عنوان یک شی StreamWriter تعریف شده است . متد CreateText فایل text موجود در آدرس Path را به شی FileWriter نسبت می دهد . متد فوق در صورتی که فایل موجود نباشد آن را ایجاد و در صورت موجود بودن فایل بر روی آن بازنویسی می نماید .متد AppendText خطوطی را به یک فایل موجود اضافه می نماید . متد WriteLine یک رشته متن به همراه یک کاراکتر Line-break را به فایل text اضافه می نماید. متد Write یک رشته متن را بدون لحاظ نمودن یک کاراکتر Line-break به فایل text اضافه می نماید . از متد close پس از اتمام کار و به منظور بستن فایل استفاده می گردد .



  • در ابتدا، گره ریشه > و اطلاعات مربوط به لینک به سایت ، تعریف شده اند .



  • برای هررکورد بازیابی شده از بانک اطلاعاتی یک گره ایجاد شده است . گره فوق دارای سه گره فرزند به اسامی , ")
    FileWriter.WriteLine("http://www.srco.ir/")
    FileWriter.WriteLine("Software ,Hardware ,Network ")

    While DBReader.Read()
    FileWriter.WriteLine("")
    FileWriter.WriteLine("" & DBReader("PubDate") & "")
    FileWriter.WriteLine("")
    FileWriter.WriteLine("" & DBReader("Link") & "")
    FileWriter.WriteLine("" & DBReader("Description") & "")
    FileWriter.WriteLine("
    ")
    End While

    FileWriter.WriteLine("")
    FileWriter.WriteLine("")
    FileWriter.Close()

    DBReader.Close()
    DBConnection.Close()
    Response.Redirect("http://www.srco.ir/RSS.xml")

    End Sub


تهیه شده در شرکت سخا روش - 1382