خواندن محتوای RSS Feed با استفاده LINQ To XML

در این مقاله  نحوه استفاده از RSS در Asp.net با استفاده از LINQ to XML آموزش داده می شود.

مرحله ۱ :

شما نیاز به یک لینک feed (خوراک ) دارید. در اینجا ما از لینک feed و بلاگ برنامه نویسان استفاده می کنیم . تصویر زیر نحوه بدست آوردن این لینک رو نمایش می ده.

نحوه استفاده از rss در asp.net
خواندن RSS Feed

شما می تونید لینک رو از آیکون نارنجی رنگ با لا بگیرید همچنین من این لینک رو در پایین براتون قرار می دم :

https://acdev.ir/?feed=rss2

مرحله ۲ : 

بعد از باز کردن ویژوال استدیو  یک سایت جدید ایجاد می کنیم به مسیر New , File و سپس Website بروید.

آموزش کد خبر خوان

نحوه استفاده از RSS در ASP.NET

مرحله ۳ :  

یک سایت از نوع ASP.NET Empty Web Site ایجاد کرده و سپس یک صفحه به آن اضافه کنید.

آموزش rss
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>

Rss_feed_main

مرحله ۵ : 

یک کلاس جدید با یک پراپرتی 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")      

در انتها با توجه به نیاز باید تغییرات رو ایجاد کنید تا محتوای مورد نظر ایجاد بشه.

Feed

دانلود پروژه

ورکشاپ رایگان دوره های تخصصی برنامه نویسی

شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، در ورکشاپ رایگان دوره های تخصصی برنامه نویسی شرکت کنید
  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .

درباره‌ی محمد آذرنیوا

من محمد آذرنیوا، نویسنده و مدرس دوره های برنامه نویسی ، طراحی وب و تحلیل گر پایگاه داده هستم و قصد دارم در این وبسایت مطالب کاربردی در این زمینه را با شما به اشتراک بگذارم ...

همچنین ببینید

دوره آموزش طراحی سایت با ASP.NET مشهد

آموزش طراحی سایت با ASP.NET مشهد

آموزش طراحی سایت مشهد (دوره آموزشی) : تکنولوژی ASP.NET ، یک تکنولوژی روز برای ساخت صفحات …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *