بازدید
RSS مخفف Really Simple Syndication به معنی تشکیل ارتباط های بسیار ساده است. آر اس اس فایلی با فرمت خاص (XML) می باشد که شامل آخرین عناوین سایت های خبری، وبلاگ ها و سایت هایی از این دست می باشد. در واقع آر اس اس فرمتی برای خروجی اطلاعات می باشد. با به روز شدن سایت، فایل ار اس اس آن به طور خودکار به روز می شود. محتویات فایل های آر اس اس را می توان به کمک نرم افزار های مخصوص مشاهده کرد.
شاید در بسیاری از سایت ها با تصاویر و عبارات زیر مواجه شده باشید. این ها نمونه هایی از خروجی سایت ها هستند. با کلیک بر روی این عبارات، به صفحه خروجی سایت وارد می شوید. شما با دادن این آدرس به نمایشگر های آر اس اس، می توانید محتویات آن را مشاهده کنید.
فرمت RSS
همان طور که قبلا اشاره شد RSS چیزی به جز یک XML نشانه گذاری شده با تگ های مخصوص نیست. کد زیر یک نمونه ساده RSS را نشان می دهد.
http://www.iranasp.net/articles/showarticle.aspx?articleid=154
اجازه بدهید به تگ های این سند کمی دقیق تر نگاه کنیم
علاوه بر تگ های بالا، یک سند RSS می تواند یک یا چند تگ
چگونه یک سند RSS بسازیم ؟
حالا که با ساختار یک فایل RSS آشنا شدید، به سراغ دات نت می رویم. چگونه در دات نت یک فایل RSS بسازیم؟ دات نت مجوعه ای غنی ای از کلاس های مرتبط با XML دارد. برای ساختن فایل RSS ما از کلاس XML Text writer استفاده می کنیم. ولی می خواهیم یک راه حل کلی داشته باشیم که با هر وب سایتی کار کند. معنی این حرف این است که کد ما باید مستقل از یک جدول یا یک فیلد خاص در دیتابیس سایت باشد. برای این کار ما یک کلاس در VS.NET می سازیم. منبع تگ های
ویژگیها (properties)
Outputstream : یک شی جریان ( Stream ) که خروجی سند در آن نوشته می شود.
RssTitle : مقدار تگ
PublisherUrl : مقدار تگ را در زیر تگ
Description : مقدار تگ
Copyright : مقدار تگ
Generator : مقدار تگ
ItemSource : تعیین کننده شی دیتاستی است که سطرهای آیتم را شامل می شود.
ItemTitleField : نام Datacolumn ( ستون داده ای در دیتاست ) که مقدار تگ
ItemURLField : نام Datacolumn که مقدار تگ از تگ
ItemDescriptionField : نام Datacolumn که مقدار تگ
ItemPublicationDateField : نام Datacolumn که مقدار تگ
متدها
PublishRss : این متد سند نشانه گذاری شده RSS را در Outputstream می نویسد. در زیر کد کامل کلاس RSS را می بینید، توجه کنید که برای سادگی و نمایش سریع به جای properties از متغیرهای عمومی ( Public ) استفاده شده است.
Public Class Rss
Public OutputStream As Stream
Public RssTitle As String
Public PublisherUrl As String
Public Description As String
Public Copyright As String
Public Generator As String
Public ItemSource As DataSet
Public ItemTitleField As String
Public ItemUrlField As String
Public ItemDescriptionField As String
Public ItemPublicationDateField As String
Public Shared Function PublishRss(ByVal r As Rss)
Dim writer As New XmlTextWriter(r.OutputStream, System.Text.Encoding.ASCII)
writer.WriteStartElement(“rss”)
writer.WriteAttributeString(“version”, “2.0”)
writer.WriteStartElement(“channel”)
writer.WriteElementString(“title”, r.RssTitle)
writer.WriteElementString(“link”, r.PublisherUrl)
writer.WriteElementString(“description”, r.Description)
writer.WriteElementString(“copyright”, r.Copyright)
writer.WriteElementString(“generator”, r.Generator
For Each row As DataRow In r.ItemSource.Tables(0).Rows
writer.WriteStartElement(“item”)
writer.WriteElementString(“title”, row(r.ItemTitleField))
writer.WriteElementString(“link”, row(r.ItemUrlField))
writer.WriteElementString(“description”, row(r.ItemDescriptionField))
writer.WriteElementString(“pubDate”, CType(row(r.ItemPublicationDateField), DateTime).ToString(“ddd, dd MMM yyyy 12:00:00 tt GMT”))
writer.WriteEndElement()
Next
writer.WriteEndElement()
writer.WriteEndElement()
writer.Flush()
End Function
End Class
در کد کلاس بالا متد PublishRss مهمترین اتفاقی است که در کلاس می افتد. ابتدا ما یک نمونه از کلاس System.XML.XmlTextwriter ساخته ایم. این کلاس سریع ترین راه برای نوشتن اسناد XML است. بعد OutputStream را به تابع پاس کرده و encoding سند را مشخص کردیم. در مورد این کد از ASCII استفاده شده است. بعد از این شروع به نوشتن بخش های مختلف سند RSS خودمان کردیم. در کلاسXmlTextwriter ما از متدهای زیر برای نوشتن سند خودمون استفاده کردیم:
WritestartElement : این متد تگ شروع را برای یک تگ خاص می نویسد (هر تگ شامل یک تگ شروع هست و یک تگ پایان مثلا
WriteAttributeString : خواص تگ باز فعلی را می نویسد.
WriteElementString : مقدار هر تگ که بین تگ شروع و تگ پایان قرار دارد را می نویسد.
WriteEndElement : تگ پایان را برای تگی که اخیرا باز بوده می نویسد. نیازی نیست که تگ های داخلی تر را مشخص کنید.
Flush : این متد، تمام خروجی های بافر>شده را به مقصد منتقل می کند.
توجه کنید که شما باید متدهای WriteStartElement و WriteEndElement را برای بهتر شکل دادن به سند خودتان استفده کنید.
ساختن وب فرم ASP.NET
حالا که یک کلاس کلی نوشتیم، می تونیم از این کلاس در وب فرم خودمان استفاده کنیم. یک ساختار که به عنوان نمونه می توانید در بانک اطلاعاتی از آن استفاده کنید به شکل زیر می باشد. از اطلاعات این ساختار در بانک اطلاعاتی برای ساخت سند RSS استفاده می گردد.
Article_ title – Varchar (255)
Article_ Description -Varchar (1000)
Article_ url – Varchar (255)
Article_ pubdate – DateTime
ما به کمک یک تابع به نام GetDataSet اطلاعات را به دیتاست می دهیم، این دیتاست به عنوان منبع برای تولید فایل RSS مورد استفاده قرار می گیرد. برای پر کردن دیتاست از یک DataAdapter استفاده می کنیم :
Function GetDataSet() as DataSet
Dim cnn as New SqlConnection(“connection string here”)
sql = “select * from sometable order by Article_pubdate desc”
Dim da As New SqlDataAdapter(sql,cnn)
Dim ds as New DataSet()
da.Fill(ds,”MyArticles”)
Return ds
End Function
برای ایجاد یک خروجی RSS از محتوای سایت، باید یک نمونه از کلاس Rss که نوشتیم بسازیم، سپس ویژگی های مختلف آن را مقداردهی کنیم و سپس متد GetDataSet را فراخوانی کنیم. بعد از اینکه دیتاست را بدست آوردیم فقط کافی است که خصوصیت ItemSource شئ گرفته شده از کلاس Rss را به همین دیتاست مقدار دهیم. به علاوه دو خصوصیت از شئ response یعنی ContentEncoding و ContentType را هم مقدار می دهیم.
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim r As New Rss
Dim ds As DataSet = GetDataSet()
r.OutputStream = Response.OutputStream
r.RssTitle = “DotNetBips.com Latest Articles”
r.PublisherUrl = Request.Url.Host
r.Description = “DotNetBips.com – Applying.NET”
r.Copyright = “Copyright (C) DotNetBips.com.”
r.Generator = “DotNetBips.com RSS Generator”
r.ItemSource = ds
r.ItemTitleField = “Article_title”
r.ItemDescriptionField = “Article_Description”
r.ItemPublicationDateField = “Article_pubdate”
r.ItemUrlField = “Article_url”
Response.ContentEncoding = System.Text.Encoding.UTF8
Response.ContentType = “text/xml”
Rss.PublishRss(r)
Response.End()
End Sub
حالا تابع PublishRss را فراخوانی می کنیم و شئ گرفته شده از کلاس Rss را به این تابع پاس می کنیم. تمام شد! حالا یک خروجی XML بر اساس استاندارد RSS داریم.
-
انواع کلاهبرداری در حوزه ارزهای دیجیتال_ چگونه فریب نخوریم ؟
انواع کلاهبرداری در حوزه ارزهای دیجیتال_ چگونه فریب نخوریم ؟ ۱٫۵۰/۵ (۳۰٫۰۰%) ۲ امتیازs روند رشد بلاک چین و فضای ارزهای دیجیتال بسیار جذاب است. نوآوریهای فنی و الگوهای جدید معاملاتی بهسرعت در حال پیشرفت و تکامل هستند و همچنان جمعیت کثیری را به […]
احتمالا این روزها درباره ارزهای دیجیتال مخصوصا بیتکوین از گوشهوکنار در اخبار رادیو و تلویزیون یا شبکههای اجتماعی چیزهایی شنیدهاید.
۱۰ مکانی که توسط گوگل مپ سانسور شده ۵٫۰۰/۵ (۱۰۰٫۰۰%) ۱ امتیاز اکثر مناطق به علت مسائل امنیتی-سیاسی به صورت سانسور شده در نقشه های گوگل دیده می شوند و به همه این ها باید یک مورد بزرگ یعنی کشور کره شمالی را افزود […]
Twitch برنامه ایست که در آن بازی های ویدیویی دست به دست هم می دهند و با داشتن میلیون ها بیننده و بازی کننده راهی برای تعامل و به اشتراک گذاری محتوای خلاقانه با دیگران ارائه می دهند.
همهی دیسکهای سخت موجود برای پارتیشن بندی از ساختار قالببندی دادهای MBR (مخفف Master Boot Record) یا GPT (مخفف GUID Partition Table) استفاده میکنند.
در این مطلب به معرفی ۵ ترفند کاربردی و مفید در مرورگر گوگل کروم در سیستمعامل اندروید خواهیم پرداخت. با بهرهگیری از این ترفندها میتوانید توانایی کار خود با این اپ را افزایش دهید.
به نکات زیر توجه کنید