آموزش برنامه نویسی در مشهد

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

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

مرحله ۱ :

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

خواندن RSS Feed

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

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

مرحله ۲ : 

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

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

مرحله ۳ :  

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

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")      

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

دانلود پروژه

خروج از نسخه موبایل