در این مقاله نحوه استفاده از RSS در Asp.net با استفاده از LINQ to XML آموزش داده می شود.
مرحله ۱ :
شما نیاز به یک لینک feed (خوراک ) دارید. در اینجا ما از لینک feed و بلاگ برنامه نویسان استفاده می کنیم . تصویر زیر نحوه بدست آوردن این لینک رو نمایش می ده.
شما می تونید لینک رو از آیکون نارنجی رنگ با لا بگیرید همچنین من این لینک رو در پایین براتون قرار می دم :
مرحله ۲ :
بعد از باز کردن ویژوال استدیو یک سایت جدید ایجاد می کنیم به مسیر New , File و سپس Website بروید.
نحوه استفاده از RSS در ASP.NET
مرحله ۳ :
یک سایت از نوع ASP.NET Empty Web Site ایجاد کرده و سپس یک صفحه به آن اضافه کنید.
مرحله ۴ : کنترل ها را به صفحه اضافه کنید . در این آموزش ما یک TextBox و یک Button نیاز داریم.
کد ها ی زیر یک Rss Reader را ایجاد می کنند.
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <strong>RSS Feed:</strong><br /> <asp:TextBox ID="txtrss" runat="server" TextMode="Url" Width="500px" placeholder="Enter RSS URL"></asp:TextBox> <br /> <br /> <asp:Button ID="btngetrss" runat="server" Text="Get RSS Feed" OnClick="btngetrss_Click" /> </div> </form> </body> </html>
مرحله ۵ :
یک کلاس جدید با یک پراپرتی public داخل آن ایجاد کنید.
using System; using System.Collections.Generic; using System.Linq; using System.Text; public class RssNews { public string tit { get; set; } public string desc { get; set; } public string auth { get; set; } public string contentlink { get; set; } public string date { get; set; } }
مرحله ۶ : فضاهای نام مورد نیاز را اضافه کنید .
using System.Xml; using System.Xml.Linq;
آموزش نحوه استفاده از RSS در Asp.net
مرحله ۷ : حال کدهایی را را در رویداد کلیک دکمه می نویسیم
protected void btngetrss_Click(object sender, EventArgs e) { var posts = GetFeeds(txtrss.Text); StringBuilder sb = new StringBuilder(); sb.Append("<p style='font-weight:larger'><b>C# Corner Latest Content Fetch From RSS by Aqib Shehzad</b></p>"); foreach (var item in posts) { sb.Append("<b>Title: </b>" + item.tit); sb.Append("<br />"); sb.Append("<b>Description: </b>" + item.desc); sb.Append("<br />"); sb.Append("<b>Article Link: </b><a target='_blank' href='" + item.contentlink + "'>" +item.contentlink+"</a>"); sb.Append("<br />"); sb.Append("<b>Published Date: </b>" + item.date); sb.Append("<br />"); sb.Append("<b>Author: </b>" + item.auth); sb.Append("<br />"); sb.Append("------------------------------------------------------------------------------------------------------------"); sb.Append("<br />"); } HttpContext.Current.Response.Write(sb); }
متد مربوط به خبر خوان Feed Reader از یک URL
public static IEnumerable<RssNews> GetFeeds(string url) { XDocument rssfeedxml; XNamespace namespaceName = "http://www.w3.org/2005/Atom"; rssfeedxml = XDocument.Load(url); StringBuilder rssContent = new StringBuilder(); var list = (from descendant in rssfeedxml.Descendants("item") //Response.Write(list); select new RssNews { tit = descendant.Element("title").Value, desc = descendant.Element("description").Value, contentlink = descendant.Element("link").Value, date = descendant.Element("pubDate").Value }); return list.ToList(); }
حال بعد از مقدار دهی نمونه جدید از کلاس XDocument می تونیم فضای نام Rss Feed رو اعلان کنیم.
XNamespace namespaceName = "http://www.w3.org/2005/Atom";
در این مرحله امکان لود محتوای URI وجود دارد و یک نمونه جدید از Xdocument رو می سازیم.
XDocument.Load(url);
بعد از خواندن داده ها ما می تونیم المنت های مورد نیاز رو بدست بیاریم.
var list = (from descendant in rssfeedxml.Descendants("item")
در انتها با توجه به نیاز باید تغییرات رو ایجاد کنید تا محتوای مورد نظر ایجاد بشه.