تور لحظه آخری
امروز : چهارشنبه ، 8 اسفند 1403    احادیث و روایات:  امام علی (ع):بعد از من با خوارج نجنگيد (آنان را نكشيد)؛ زيرا كسى كه طالب حق باشد و به آن نرسد، ...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

خرید پرینتر سه بعدی

سایبان ماشین

اجاره سند در شیراز

armanekasbokar

armanetejarat

Future Innovate Tech

پی جو مشاغل برتر شیراز

خرید یخچال خارجی

بانک کتاب

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

خرید بلیط هواپیما

بلیط اتوبوس پایانه

تعمیرات پکیج کرج

خرید از چین

خرید از چین

خرید سرور اچ پی ماهان شبکه

کاشت ابرو طبیعی و‌ سریع

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

مهاجرت به آلمان

تشریفات روناک

نوار اخطار زرد رنگ

ثبت شرکت فوری

خودارزیابی چیست

فروشگاه مخازن پلی اتیلن

کاشت ابرو طبیعی

پارتیشن شیشه ای اداری

رزرو هتل خارجی

تولید کننده تخت زیبایی

سی پی کالاف

دوره باریستا فنی حرفه ای

چاکرا

استند تسلیت

پی ال سی زیمنس

دکتر علی پرند فوق تخصص جراحی پلاستیک

تعمیر سرووموتور

تحصیل پزشکی در چین

مجله سلامت و پزشکی

تریلی چادری

مهاجرت به استرالیا

ایونا

تعمیرگاه هیوندای

کشتی تفریحی کیش

تور نوروز خارجی

خرید اسکرابر صنعتی

طراحی سایت فروشگاهی فروشگاه آنلاین راه‌اندازی کسب‌وکار آنلاین طراحی فروشگاه اینترنتی وب‌سایت

کاشت ابرو با خواب طبیعی

هدایای تبلیغاتی

زومکشت

فرش آشپزخانه

خرید عسل

قرص بلک اسلیم پلاس

کاشت تخصصی ابرو در مشهد

صندوق سهامی

تزریق ژل

خرید زعفران مرغوب

تحصیل آنلاین آمریکا

سوالات آیین نامه

سمپاشی سوسک فاضلاب

مبل کلاسیک

بهترین دکتر پروتز سینه در تهران

صندلی گیمینگ

کفش ایمنی و کار

دفترچه تبلیغاتی

خرید سی پی

قالیشویی کرج

سررسید 1404

تقویم رومیزی 1404

ویزای توریستی ژاپن

قالیشویی اسلامشهر

قفسه فروشگاهی

چراغ خطی

ابزارهای هوش مصنوعی

آموزش مکالمه عربی

اینتیتر

استابلایزر

 






آمار وبسایت

 تعداد کل بازدیدها : 1862272207




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

نقل اطلاعات RSS دیگران در پایگاه اطلاع رسانی خود


واضح آرشیو وب فارسی:راسخون:
نقل اطلاعات RSS دیگران در پایگاه اطلاع رسانی خود
نقل اطلاعات RSS دیگران در پایگاه اطلاع رسانی خود ساده ترین نوع استفاده از RSS در پایگاه اطلاع رسانی ، نمایش آخرین اخبار پایگاههای دیگر می باشد . در این حالت کافی است که محلی برای نمایش اطلاعات پایگاه مورد نشر در نظر بگیرید و بسته به اینکه بخواهید فایل مورد نظر چگونه نمایش داده شود ، آن را سفارشی نمایید .مثال :برای نمایش اخبار منتشر شده در BBC در پایگاه خود، در ساده ترین حالت ،کافی است که یک صفحه .aspx ایجاد نمایید . سپس یک Datagrid در صفحه قرار دهید :  <asp:DataGrid id="dgPost" runat="server" AutoGenerateColumns="False" BorderColor="#DEBA84" BorderStyle="None"CellSpacing="2" BorderWidth="1px" BackColor="#DEBA84" CellPadding="3" dir=rtl><SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#738A9C"></SelectedItemStyle><ItemStyle ForeColor="#8C4510" BackColor="#FFF7E7"></ItemStyle><HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#A55129"></HeaderStyle><FooterStyle ForeColor="#8C4510" BackColor="#F7DFB5"></FooterStyle><Columns><asp:TemplateColumn HeaderText="title"><ItemTemplate><a href=<%# DataBinder.Eval(Container, "DataItem.link") %>><%# DataBinder.Eval(Container, "DataItem.title") %></a></ItemTemplate></asp:TemplateColumn><asp:BoundColumn DataField="description" HeaderText="Description"></asp:BoundColumn></Columns><PagerStyle HorizontalAlign="Center" ForeColor="#8C4510" Mode="NumericPages"></PagerStyle></asp:DataGrid>using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Xml;namespace rss{/// <summary>/// Summary description for WebForm1./// </summary>public class WebForm1 : System.Web.UI.Page{protected System.Web.UI.WebControls.DataGrid dgPost;private void Page_Load(object sender, System.EventArgs e){dgPost.DataSource=GetRss("http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/world/rss091.xml");dgPost.DataBind();}public DataTable GetRss(string str){XmlTextReader xmlr = new XmlTextReader(str);DataSet ds = new DataSet();ds.ReadXml(xmlr);return ds.Tables[2];} همانطور که مشخص استDatagrid تعریف شده ، برای نمایش عنوان و توضیح خبر مورد استفاده قرار می گیرد . این ساده ترین حالت ممکن برای استفاده از xml پایگاههای دیگر می باشد.در این حالت می توان به شی "XmlTextReader"، نشانی فایل مورد نظر را ارسال کرد . سپس فایل را از طریق متد ReadXml در DataSet قرار داد. نکته مهم این است که در هنگام خواندن xml ، DataSet به ازای هر سطح از xml یک DataTable ایجاد می کند . بنابراین عناصر <rss> و <channel> هرکدام به عنوان یک جدول در DataSet شناخته خواهند شد . می توان نتیجه گرفت که برای نمایش اطلاعات <channel> (شامل زبان ، ttl ، copyright و ...) کافی است که اطلاعات جدول شماره 1 یا [ ds.Tables[1 را استخراج نمایید .با استفاده از روش بالا می توان اطلاعات را به درستی نمایش داد .اما استفاده از UserControl این امکان را می دهد که بتوانیم بدون تغییر محسوس در صفحات، کدی ایجاد نماییم که هم قابلیت استفاده مجدد ( بدون تکرار کردن کد ) را داشته باشد و هم تغییر و کنترل آن ساده و از یک فایل، برای تمامی صفحات باشد .برای اینکار ابتدا با استفاده از Visual Studio فایلی با عنوان rssFeed.ascx می سازیم و مجددا روند ذکر شده در روش قبل را تکرار می کنیم .<%@ Control Language="c#" AutoEventWireup="false" Codebehind="RssFeed.ascx.cs" Inherits="rss.RssFeed" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%><asp:DataGrid id="dgPost" runat="server" AutoGenerateColumns="False" BorderColor="#DEBA84" BorderStyle="None"CellSpacing="2" BorderWidth="1px" BackColor="#DEBA84" CellPadding="3" dir=rtl><SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#738A9C"></SelectedItemStyle><ItemStyle ForeColor="#8C4510" BackColor="#FFF7E7"></ItemStyle><HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#A55129"></HeaderStyle><FooterStyle ForeColor="#8C4510" BackColor="#F7DFB5"></FooterStyle><Columns><asp:TemplateColumn HeaderText="title"><ItemTemplate><a href=<%# DataBinder.Eval(Container, "DataItem.link") %>><%# DataBinder.Eval(Container, "DataItem.title") %></a></ItemTemplate></asp:TemplateColumn><asp:BoundColumn DataField="description" HeaderText="Description"></asp:BoundColumn></Columns><PagerStyle HorizontalAlign="Center" ForeColor="#8C4510" Mode="NumericPages"></PagerStyle></asp:DataGrid> namespace rss{using System;using System.Data;using System.Drawing;using System.Web;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Xml; /// <summary>/// Summary description for RssFeed./// </summary>public class RssFeed : System.Web.UI.UserControl{private void Page_Load(object sender, System.EventArgs e){dgPost.DataSource=GetRss("http:/mydomain.com/rss.xml");dgPost.DataBind();}public DataTable GetRss(string str){XmlTextReader xmlr = new XmlTextReader(str);DataSet ds = new DataSet();ds.ReadXml(xmlr);return ds.Tables[2]; }چگونگی استفاده از UserControl نکته مهم در مورد UserControl نحوه استفاده از این فایل می باشد. برای استفاده از UserControl در صفحات دیگر، احتیاج به معرفی Usercontrol ایجاد شده داریم که از طریق کد زیر قابل انجام می باشد .<%@ Register TagPrefix="rss" TagName="rssFeed" Src="ssFeed.ascx" %>با استفاده از این کد می توان کنترل جدید را در هر صفحه .aspx که می خواهید از آن استفاده کنید، معرفی نمایید . به عنوان مثال :<%@ Register TagPrefix="rss" TagName="rssFeed" Src="rssFeed.ascx" %><%@ Page language="c#" Codebehind="View.aspx.cs" AutoEventWireup="false" Inherits="rss.WebForm1" %><HTML><HEAD></HEAD><body MS_POSITIONING="GridLayout"><TABLE height="163" cellSpacing="0" cellPadding="0" width="57" border="0" ms_2d_layout="TRUE"><TR vAlign="top"><TD width="57" height="163"><form id="frm" method="post" runat="server"><TABLE height="40" cellSpacing="0" cellPadding="0" width="151" border="0" ms_2d_layout="TRUE"><TR vAlign="top"><TD width="10" height="15"></TD><TD width="141"></TD></TR><TR vAlign="top"><TD height="25"></TD><TD><rss:rssFeed id="ucRssFeed" runat="Server" /></TD></TR></TABLE></form></TD></TR></TABLE></body></HTML>استفاده از cachingمطمئنا در هنگام نمایش اطلاعات سایرین در پایگاه خود ، بهتر است که به ازای هر بار، بارگذاری صفحه ، به پایگاه ارائه دهنده RSS مراجعه نکنیم . بلکه در یک مدت زمان مشخص تغییر اطلاعات را چک نماییم . یکی از ساده ترین روشها Cache کردن اطلاعات RSS برای یک مدت زمان دلخواه می باشد تا هر زمان که این بازه زمانی به پایان می رسد بتوانیم اطلاعات Feed را از پایگاه ارائه دهنده مجددا بخوانیم .برای این کار می توانیم به صورت زیر عمل نماییم :namespace rssusing System;using System.Data;using System.Drawing;using System.Web;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Xml;/// <summary>/// Summary description for RssFeed./// </summary>public class RssFeed : System.Web.UI.UserControlprotected System.Web.UI.WebControls.DataGrid dgPost;private void Page_Load(object sender, System.EventArgs e)if(Cache["RSSFeed"]==null){ DataTable dt=GetRss("http://mydomain.com/rss.xml");Cache.Insert("RSSFeed",dt,null,DateTime.Now.AddMinutes(20),TimeSpan.Zero) ;dgPost.DataSource = Cache["RSSFeed"];dgPost.DataBind();public DataTable GetRss(string str)XmlTextReader xmlr = new XmlTextReader(str);DataSet ds = new DataSet();ds.ReadXml(xmlr);return ds.Tables[2];/خ





این صفحه را در گوگل محبوب کنید

[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 330]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن