جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
ايجاد فايل هاي RSS و نحوه استفاده از آنان
-(2 Body) 
ايجاد فايل هاي RSS و نحوه استفاده از آنان
Visitor 529
Category: دنياي فن آوري
RSS که از کلمات Really Simple Syndication و يا Rich Site Summary اقتباس شده است ، روشي به منظور توزيع لينک ها به صفحات وب از طريق فايل هاي مبتني بر XML است . فايل هاي فوق معمولا" شامل عنوان ، خلاصه اي از آن و لينک به صفحه حاوي تمامي اطلاعات مرتبط با عنوان منتشر شده ، مي باشند. علاقه مندان ( افراد و يا سايت ها ) مي توانند با دريافت فايل هاي فوق ( مشترک آنان شوند ) ، آگاهي لازم در خصوص تغييرات و يا آخرين وضعيت اطلاعات منتشر شده بر روي يک وب سايت را کسب نمايند .
يکي از متداولترين کاربردهاي استفاده از تکنولوژي RSS ، نشر عناوين و خلاصه اخبار است . سازمان ها و آژانس هاي خبري به صورت مستمر فايل RSS مربوط به خود را که نظير يک فايل ايندکس به اخبار و يا مقالات است ، بهنگام مي نمايند . خوانندگان مي توانند با استفاده از لينک ارائه شده و کليک بر روي آن به صفحه اصلي نشر خبر و يا مقاله هدايت شوند . با عضويت کاربران به مجموعه اي از فايل هاي RSS ، امکان بهنگام سازي مستمر اطلاعات آنان در خصوص موضوعات مورد علاقه فراهم مي گردد . ( مطالعه خلاصه اطلاعات ارائه شده و در صورت تمايل، استفاده از لينک به منظور مطالعه تمامي خبر و يا مقاله ) . فايل هاي RSS محدود به نشر خلاصه اخبار نبوده و هر وب سايتي که به صورت مستمر اقدام به ارائه محتوا مي نمايد نيز مي تواند از اين تکنولوژي استفاده نمايد . بدين ترتيب ، اطلاعات لازم براي کاربران ارسال و آنان مي توانند خلاصه اي از اطلاعات منتشر شده را بر روي کامپيوتر خود مشاهده نموده و در صورت تمايل از سايت اصلي نشر خبر و يا مقاله استفاده نمايند .

ماهيت فايل هاي RSS

فايل هاي RSS از سه بخش اطلاعاتي با فرمت XML تشکيل مي گردند . اطلاعات فوق در يک گره و با نام <item> سازماندهي مي شوند. بدين منظور گره <item> از سه گره فرزند استفاده مي نمايد :
• <title> : عنوان مطلب منتشر شده ( خبر ، مقاله ) را در خود ذخيره مي نمايد.
• <link> : آدرس مربوط به صفحه وب حاوي تمامي اطلاعات مرتبط با عنوان منتشر شده را مشخص مي نمايد .
• <description> : اطلاعاتي خلاصه در رابطه با عنوان مطلب منتشر شده ( خبر ، مقاله ) را در خود ذخيره مي نمايد .
يک فايل RSS مي تواند شامل يک و يا چندين گره <item> باشد . تمامي گره هاي <item> توسط گره ريشه <channel> احاطه مي گردند . گره <channel> خود شامل عناصري به منظور مشخص نمودن سايت ارائه دهنده اطلاعات است . فرمت يک فايل RSS به صورت زير است :

 <rss version="2.0">
  <channel>
    <title> عنوانسايت</title>
    <link> آدرس سايت  </link>
    <description> توضيحاتي در رابطهبا عملکرد سايت </description>

    <item>
      <title>عنوان</title>
      <link>آدرس صفحه حاوي اطلاعات تکميلي در رابطه با عنوان منتشرشده</link>
      <description>خلاصه اي از محتوياتصفحه</description>
    </item>
   ...
   </channel>
 </rss>

فايل هاي RSS با انشعاب xml . ذخيره مي گردد . به منظور ايجاد يک فايل xml ، مي يايست مجموعه قوانين خاصي را رعايت نمود . به منظور اطمينان از صحت فرمت فايل فوق مي توان آن را براي يک سرويس اعتبار سنجي ارسال تا وي بررسي لازم در خصوص " خوش شکل بودن " و "معتبر بودن" آن را انجام دهد . مثلا" مي توان از Feed Validator به منظور اعتبار سنجي فايل RSS استفاده نمود. پس از اعتبار سنجي يک فايل RSS ، مي بايست امکان استفاده از آن را براي کاربران فراهم نمود .يکي از روش هاي انجام اين کار اعلام اين موضوع بر روي وب سايت مورد نظر است
آيکون هاي فوق لينک هاي گرافيکي به فايل هاي RSS مي باشند که URLs مورد نظر را براي يک و يا چندين RSS Feed ، ارائه مي نمايند .با کليک بر روي آنان يک فايل با فرمت XML نمايش داده مي شود . با استفاده از برنامه هائي خاص نيز مي توان آدرس مربوط به هر RSS Feed مورد علاقه را مشخص تا در ادامه ، خلاصه اي از اطلاعات و لينک هاي مربوطه نمايش داده شود . به برنامه هاي فوق، aggregator گفته مي شود . روش دوم به منظور ارائه فايل RSS ، استفاده از سرويس RSS syndication است . وب سايـت هائي نظير SearchEngineWatch ، تعداد زيادي دايرکتوري RSS را بدين منظور ارائه نموده اند . برخي از مراکز جستجو اين امکان را فراهم مي نمايند که URL مربوط به يک فايل RSS براي آنان ارسال گردد.

عضويت در يک RSS feed

به منظورعضويت در يک RSS feed مي توان از برنامه هاي Desktop متعددي که RSS aggregators ناميده مي شوند ، استفاده نمود . SharpReader يک نمونه متدوال در اين زمينه است .
ليست Subscribed Feeds در ستون سمت چپ ، شامل لينک هائي به فايل هاي RSS است .با کليک بر روي يکي ازآنان، فايل مربوطه فعال شده و عناوين تمامي آيتم ها در فريم بالا ( سمت راست ) ، نمايش داده مي شود . با کليک بر روي يک عنوان، خلاصه اي از اطلاعات در رابطه با آيتم مورد نظر در فريم پائين ( سمت راست ) ، نمايش داده خواهد شد . محتواي ارائه شده از گره هاي <title> ، <link> و <description> ، موجود در فايل RSS دريافت و نمايش داده مي شود .
به منظور عضويت در يک RSS feeds مي توان گزينه "Open RSS Feed" را از طريق منوي فايل انتخاب و URL مربوط به يک فايل RSS را مشخص نمود .پس از انجام عمليات فوق ، عنوان سايتي که از آن فايلي دريافت شده است به ليست اضافه مي گردد . هر مرتبه که ليست refresh مي گردد ، نسخه اي جديد از فايل RSS دريافت و نمايش داده خواهد شد .

ايجاد RSS

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

استانداردهاي RSS

تاکنون استانداردهاي متعددي به منظور کدينگ RSS ايجاد شده است. متداولترين آنان نسخه شماره دو مي باشد که در Technology at Harvard Law ، تشريح شده است . RSS عضوي از خانواده بزرگ XML بوده و تمامي فايل هاي RSS مي بايست بر اساس مشخصه استاندارد XML 1.0 که توسط کنسرسيوم وب ( W3C ) منتشر شده است ، تائيد شوند .

تعريف RSS

يک سند RSS با عنصر <rss> که به دنبال آن خصلت " version = "2.0 آورده مي شود ، تعريف مي گردد .عنصر فوق به همراه تگ پاياني ، تمامي سند را در خود جاي مي دهد :

<rss version="2.0">
   ...
</rss>

عنصر <channel>

زير مجموعه عنصر <rss> را يک المان <channel> تشکيل مي دهد که شامل اطلاعاتي در رابطه وب سايتي است که لينک ها و خلاصه اطلاعات موردنظر از آن استخراج مي گردند . channel از سه عنصر ضرروي تشکيل مي گردد : <title>, <link>و <description>.

<rss version="2.0">
  <channel>
     <title>عنوان سايت .</title>
     <link>آدرسسايت</link>
     <description> توضيحاتي در رابطه با عملکرد سايت</description>
         ...
  </channel>
</rss>

ساير اطلاعات مورد نياز را مي توان به بخش channel و با استفاده از استانداردهاي تعريف شده ، اضافه نمود .

عنصر <item>

يک channel مي تواند شامل يک و يا چندين عنصر <item> باشد . يک <item> شامل عناصري به منظور مشخص نمودن عنوان، لينک و خلاصه اي از اطلاعات در رابطه با مطلب منتشر شده ( خبر ، مقاله ) است . يک عنصر <item> معمولا" از سه عنصر <title>, <link>و <description> تشکيل مي گردد . اطلاعات ارائه شده توسط يک <item> ممکن است کامل بوده و نيازي به استفاده از گره فرزند <link> نباشد .

<rss version="2.0">
  <channel>
     <title>عنوان سايت .</title>
     <link>آدرسسايت</link>
     <description> توضيحاتي در رابطه با عملکرد سايت</description>
   
  <item>
     <title>عنوان</title>
     <link>آدرس صفحهحاوي اطلاعات تکميلي در رابطه با عنوان منتشر شده</link>
     <description>خلاصه اي از محتويات  صفحه</description>
   </item>

   <item>
     <title>عنوان</title>
     <description> تمامي اطلاعات موجود.</description>
   </item>
      ...
  </channel>
</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 در فهرست ريشه وب مورد نظر ذخيره مي نمايد.

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.IO" %>

<SCRIPT runat="server">

   Sub Page_Load
       Create_RSS ()
   End Sub

Sub Create_RSS ( )

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String
Dim FileWriter As StreamWriter

DBConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\RSS.mdb")
DBConnection.Open()
SQLString = "SELECT * FROM XMLLink"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()

FileWriter = File.CreateText(MapPath("RSS.xml"))
FileWriter.WriteLine("<rss version=""2.0"">" )
FileWriter.WriteLine("<channel>")
FileWriter.WriteLine("<title>Sakha Ravseh </title>")
FileWriter.WriteLine("<link>http://www.srco.ir/</link>")
FileWriter.WriteLine("<description>Software ,Hardware ,Network </description>")

While DBReader.Read()
  FileWriter.WriteLine("<item>")
  FileWriter.WriteLine("<pubDate>" & DBReader("PubDate") & "</pubDate>")
  FileWriter.WriteLine("<title>" & DBReader("Title") & "</title>")
  FileWriter.WriteLine("<link>" & DBReader("Link") & "</link>")
  FileWriter.WriteLine("<description>" & DBReader("Description") & "</description>")
  FileWriter.WriteLine("</item>")
End While

FileWriter.WriteLine("</channel>")
FileWriter.WriteLine("</rss>")
FileWriter.Close()

DBReader.Close()
DBConnection.Close()

End Sub

</SCRIPT>

مرحله دوم : پس از ذخيره کد فوق در فايلي با نام 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 پس از اتمام کار و به منظور بستن فايل استفاده مي گردد .
• در ابتدا، گره ريشه <channel> و اطلاعات مربوط به لينک به سايت ، تعريف شده اند .
• براي هررکورد بازيابي شده از بانک اطلاعاتي يک گره <item> ايجاد شده است . گره فوق داراي سه گره فرزند به اسامي <pubDate>, <title>, <link> و <description> مي باشد .
• به منظور معرفي فايل RSS مي توان از يک دکمه گرافيکي ( ) که به فايل RSS اشاره مي نمايد، استفاده کرد . توجه داشته باشيد که قبل از کليک بر روي دکمه فوق، مي بايست فايل RSS با فرآيندي خاص ايجاد شده باشد ( اجراي فايل حاوي اسکريپت هاي نوشته شده ) .
بهنگام سازي اتوماتيک فايل RSS
محتويات يک فايل RSS متاثر از داده هاي موجود در بانک اطلاعاتي است . بديهي است در صورتي که لينک هاي جديدي به بانک اضافه شده و يا لينک هائي حذف گردد ، مي بايست فايل RSS بهنگام گردد . در مثال فوق ، عمليات بهنگام سازي فايل RSS صرفا" پس از اجراي اسکريپت هاي نوشته شده ، انجام خواهد شد ( اجراي فايل MakeRss.aspx ) . ما نيازمند روشي هستيم که بر اساس آن فرآيند بهنگام سازي فايل RSS به صورت اتوماتيک و با توجه به آخرين اطلاعات موجود در بانک اطلاعاتي ، انجام شود . بدين منظور مي توان اسکريپت هاي توليد کننده فايل RSS را در يک صفحه aspx . مستقر نموده و پس از ايجاد فايل RSS و با استفاده از متد Redirect فايل RSS.xml نمايش داده شود.
بدين ترتيب ، پس از کليک بر روي لينک مربوطه که معمولا" به صورت يک دکمه گرافيکي ( ) است ، اسکريپت ها اجراء ، فايل RSS.XML توليد و در نهايت با استفاده از متد Redirect فايل RSS.xml نمايش داده مي شود.( لينک ارائه شده به صفحه MakeRss.aspx است نه به فايل RSS.xml )

<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.IO" %>

<SCRIPT runat="server">

Sub Page_Load

Dim DBConnection As OleDbConnection
Dim DBCommand As OleDbCommand
Dim DBReader As OleDbDataReader
Dim SQLString As String
Dim FileWriter As StreamWriter

DBConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\RSS.mdb")
DBConnection.Open()
SQLString = "SELECT * FROM XMLLink"
DBCommand = New OleDbCommand(SQLString, DBConnection)
DBReader = DBCommand.ExecuteReader()

FileWriter = File.CreateText(MapPath("RSS.xml"))
FileWriter.WriteLine("<rss version=""2.0"">" )
FileWriter.WriteLine("<channel>")
FileWriter.WriteLine("<title>Sakha Ravseh </title>")
FileWriter.WriteLine("<link>http://www.srco.ir/</link>")
FileWriter.WriteLine("<description>Software ,Hardware ,Network </description>")

While DBReader.Read()
  FileWriter.WriteLine("<item>")
  FileWriter.WriteLine("<pubDate>" & DBReader("PubDate") & "</pubDate>")
  FileWriter.WriteLine("<title>" & DBReader("Title") & "</title>")
  FileWriter.WriteLine("<link>" & DBReader("Link") & "</link>")
  FileWriter.WriteLine("<description>" & DBReader("Description") & "</description>")
  FileWriter.WriteLine("</item>")
End While

FileWriter.WriteLine("</channel>")
FileWriter.WriteLine("</rss>")
FileWriter.Close()

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

End Sub

</SCRIPT>

Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image