دریافت و نمایش RSS ها با استفاده از ASP.Net
با سلام در این مقاله، توضیح می دهیم که چگونهRSS Feedرا از وب سایت بکشید و آن را در وب سایت خود با استفاده از ASP.Net نمایش دهید
برای این آموزش، اخبار RSS Feed Community را از وب سایت asp.net می کشم. شما می توانید آدرس مورد نظر خود را نمایش دهید
فضاهای نام
ابتدا Namespaces را وارد کنید
C #
using System;
using System.Net;
using System.Xml;
using System.Data;
VB.Net
Imports System
Imports System.Net
Imports System.Xml
Imports System.Data
عملکرد GetRSS
تابع GetRSS مسئول RSS Feed و نمایش آن در صفحه وب است. برای ایجاد یک درخواست وب و پروکسی وب به وب سایت از جایی که RSS باید کشیده شود. پاسخ Web Received سپس با استفاده از XmlTextReader و در نهایت با استفاده از Property ReadXmlمحتویات XmlTextReader به DataSet خوانده می شود.
C #
private void GetRSS()
{
//Create a WebRequest
WebRequest rssReq =
WebRequest.Create("http://www.asp.net/news/rss.ashx");
//Create a Proxy
WebProxy px = new WebProxy("http://www.asp.net/news/rss.ashx", true);
//Assign the proxy to the WebRequest
rssReq.Proxy = px;
//Set the timeout in Seconds for the WebRequest
rssReq.Timeout = 5000;
try
{
//Get the WebResponse
WebResponse rep = rssReq.GetResponse();
//Read the Response in a XMLTextReader
XmlTextReader xtr = new XmlTextReader(rep.GetResponseStream());
//Create a new DataSet
DataSet ds = new DataSet();
//Read the Response into the DataSet
ds.ReadXml(xtr);
//Bind the Results to the Repeater
rssRepeater.DataSource = ds.Tables[2];
rssRepeater.DataBind();
}
catch(Exception ex)
{
throw ex;
}
}
VB.Net
Private Sub GetRSS()
'Create a WebRequest
Dim rssReq As WebRequest =
WebRequest.Create("http://www.asp.net/news/rss.ashx")
'Create a Proxy
Dim px As New WebProxy("http://www.asp.net/news/rss.ashx", True)
'Assign the proxy to the WebRequest
rssReq.Proxy = px
'Set the timeout in Seconds for the WebRequest
rssReq.Timeout = 5000
Try
'Get the WebResponse
Dim rep As WebResponse = rssReq.GetResponse()
'Read the Response in a XMLTextReader
Dim xtr As New XmlTextReader(rep.GetResponseStream())
'Create a new DataSet
Dim ds As New DataSet()
'Read the Response into the DataSet
ds.ReadXml(xtr)
'Bind the Results to the Repeater
rssRepeater.DataSource = ds.Tables(2)
rssRepeater.DataBind()
Catch ex As Exception
Throw ex
End Try
End Sub
نمایش RSS Feeds بازیابی شده
برای نمایش داده ها از تکرار کننده کنترل ASP.Net استفاده می کنیم
<asp:Repeater ID = "rssRepeater" runat = "server">
<ItemTemplate>
<table style="border:solid 1px black;width:500px;font-family:Arial">
<tr>
<td style=" font-weight:bold">
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl = '<%#Eval("link")%>'
Text = '<%#Eval("title")%>'></asp:HyperLink>
</td>
</tr>
<tr>
<td><hr /></td>
</tr>
<tr>
<td style="background-color:#C2D69B">
<asp:Label ID="Label1" runat="server"
Text='<%#Eval("description")%>'></asp:Label>
</td>
</tr>
</table>
<br />
</ItemTemplate>
</asp:Repeater>
شکل زیر نشان می دهد چگونه خروجی در صفحه نمایش داده می شود
