www.aryalink.com آریالینکپورتال ایرانی
منبع مطلب: رادکام
----------------------------------------------------------------------------------------------------------------------------------
RSS و 2.0 XML استاندارد ها و قوائد مورد استفاده در
عناوین
XML نگاهی به استانداردهاي پایه اي ·
RSS مبتنی بر 2.0 Feed نگاهی به استانداردهاي موجود براي ایجاد یک ·
RSS استاندارد در 2.0 Feed نمونه اي ساده از یک ·
XML نگاهی به استانداردهاي پایه اي
را به خاطر بسپارید: XML استفاده می کند ، پیش از شروع، چند قانون ساده در مورد فایلهاي XML از فایلهاي RSS با توجه به اینکه
یکسان نمی باشد. <Item> با <Item> به بزرگی و کوچکی حروف حساس می باشند. بنابراین XML 1. محتویات فایلهاي
باید به درستی در داخل یکدیگر قرار داده شوند. در نظر داشته باشید که چگونه قرار گرفتن عناصر ، xml 2. عناصر در هر فایل
بر حسب نسخه آن دارد . Feed تاثیر مستقیمی بر استاندارد بودن ، xml در فایل
، ;amp& ، ;gt& ، ;lt& 3. کاراکترهایی نظیر < , >, &, " و ' در صورتی که در داخل متن و مقادیر صفات باشند، باید با
جایگزین گردند . ;apos& و ;qout&
یک نمونه صحیح <rss version=" 4. تمامی مقادیر مشخصه ها، در داخل “” قرار داده می شوند . به عنوان مثال <" 2.0
می باشد.
RSS مبتنی بر 2.0 Feed نگاهی به قواعد موجود براي ایجاد یک
پایان می یابد . </rss> آغاز شده و با <rss> با عنصر RSS - 1 فایل
<rss version="2.0">
....
</rss>
نامیده می شود که داراي 3 عنصر اجباري می باشد. در نظر داشته باشید که <channel>، <rss> -2 تنها عنصر فرزند
News ) در حقیقت همان عنصر اصلی است که اطلاعات پایگاه ما را در بر می گیرد. در نرم افزار هاي گردآورنده خبر ، channel>>
جدید یاد می شود . channel نیز، از هر پایگاه جدید به عنوان یک (aggregator
که در جدول زیر موارد استفاده آنها بیان شده است . description و link ، title : عبارتند از <channel> عناصر
title که اغلب شامل نام پایگاه اطلاع رسانی می باشد feed عنوان
link آدرس پایگاه اطلاع رسانی
description توضیحات مربوط به پایگاه اطلاع رسانی
عناصر اختیاري دیگري نیز وجود دارد نظیر : RSS 2. در مشخصات ارائه شده براي 0
عنصر توضیح
Language
زبانی که کانال به آن زبان نوشته شده است.دانستن زبان این امکان را به نرم افزارهاي گردآورنده خبر می دهد تا
کانال هایی که زبان یکسانی دارند را در یک صفحه نمایش دهد و یا کارکترهاي مخصوص آن زبان را لحاظ کند.
نمایش دهنده پدید آورنده کانال copyright
آدرس پست الکترونیکی فردي که مسوولیت اخبار و مقالات را بر عهده دارد. managingEditor
آدرس پست الکترونیکی فردي که مسوولیت مسائل فنی کانال را بر عهده دارد. webMaster
نوشته می شود. RFC زمانی که کانال به روز می گردد این تاریخ با استفاده از 822 pubDate
lastBuildDate
نوشته RFC تاریخ آخرین بار مرتبه اي که اطلاعات کانال به روز شده است .این تاریخ تاریخ با استفاده از 822
می شود.
طبقه بندي محتوایی کانال. اینکه کانال حاوي چه مطالبی می باشد. category
بیان کننده نرم افزاري که کانال را تولید کرده است. generator
اشاره می کند که در کانال مورد استفاده قرار گرفته است . RSS آدرسی که به مستندات نسخه اي از docs
ttl
بیان کننده مدت زمانی است که گردآورنده خبر پساز آن زمان مجددا فایل مربوط به Time To Live یا ttl
کانال را براي به روز رسانی فایل خود چک کرده و اطلاعات فعلی را "قدیمی" به شمار می آورد.
که به همراه کانال نمایش داده می شود. PNG و یا GIF , JPEG فایلی از نوع image
مربوط به کانال PICS rating(Platform for Internet Content Selection) rating
textInput
به همراه کانال که می تواند کاربري هاي متفاوتی داشته باشد از جمله دریافت Text Box نمایش دهنده یک
نظر مشاهده کنندگان کانال.
skipHours
با این عنصر به نرم افزار گردآورنده خبر گفته می شود که در چه ساعاتی کانال مورد نظر را براي اطلاعات جدید
چک نکند.
skipDays
با این عصر به نرمم افزار گردآورنده خبر گفته می شود که در چه روزي کانال مورد نظر را براي اطلاعات جدید چک
نکند.
قرار داده می شود. در نظر <channel> قرار گرفته می شود. این عنصر در داخل <item> -3 هر اطلاع و یا خبر، داخل یک عنصر
بقیه موارد ، description و یا title دلخواه می باشد . به جز یکی از دو عنصر <channel> در هر <item> داشته باشید که تعداد عناصر
اختیاري می باشند .
شامل موارد زیر می باشند : <item> عناصر معمول در
Title عنوان
link آدرس
description توضیحات
author نویسنده
pubDate تاریخ انتشار
پیروي می کند . 3 حرف معادل روز (اختیاري) سپس"," ، تاریخ روز ، سپس ، 3 حرف به RFC از قالب 822 pubDate : نکته
GMT Sat, 07 Sep به عنوان مثال 2002 00:00:01 Time Zone عنوان نماد ماه سپسسال و در انتها ساعت و
2,0 RSS استاندارد در Feed نمونه اي ساده از یک
<rss version="2.0">
<channel>
<title>Latest DataWebControls.com FAQs</title>
<link>http://datawebcontrols.com</link>
<description>
This is the syndication feed for the FAQs at DataWebControls.com
</description>
<item>
<title>Working with the DataGrid</title>
<link>http://datawebcontrols.com/faqs/DataGrid.aspx</link>
<pubDate>Mon, 07 Jul 2003 21:00:00 GMT</pubDate>
</item>
<item>
<title>Working with the Repeater</title>
<description>
This article examines how to work with the Repeater control.
</description>
<link>http://datawebcontrols.com/faqs/Repeater.aspx</link>
<pubDate>Tue 08 Jul 2003 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
www.aryalink.com آریالینکپورتال ایرانی
منبع مطلب: رادکام
----------------------------------------------------------------------------------------------------------------------------------
دیگران در پایگاه اطلاع رسانیخود RSS نقل اطلاعات
در پایگاه اطلاع رسانی ، نمایش آخرین اخبار پایگاههاي دیگر می باشد . در این حالت کافی است که RSS ساده ترین نوع استفاده از
محلی براي نمایش اطلاعات پایگاه مورد نشر در نظر بگیرید و بسته به اینکه بخواهید فایل مورد نظر چگونه نمایش داده شود ، آن را سفارشی
نمایید
مثال :
ایجاد نمایید . سپس aspx. در پایگاه خود، در ساده ترین حالت ،کافی است که یک صفحه BBC براي نمایش اخبار منتشر شده در
در صفحه قرار دهید : 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/ukf
s_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" در این حالت می توان به شی
یک xml به ازاي هر سطح از DataSet ، xml قرار داد. نکته مهم این است که در هنگام خواندن DataSet در ReadXml
شناخته خواهند شد . DataSet هرکدام به عنوان یک جدول در <channel> و <rss> ایجاد می کند . بنابراین عناصر DataTable
و ...) کافی است که اطلاعات جدول شماره 1 copyright ،ttl ، شامل زبان ) <channel> می توان نتیجه گرفت که براي نمایش اطلاعات
1 را استخراج نمایید . ]ds.Tables ] یا
این امکان را می دهد که بتوانیم UserControl با استفاده از روش بالا می توان اطلاعات را به درستی نمایش داد .اما استفاده از
بدون تغییر محسوس در صفحات، کدي ایجاد نماییم که هم قابلیت استفاده مجدد ( بدون تکرار کردن کد ) را داشته باشد و هم تغییر و کنترل
می rssFeed.ascx فایلی با عنوان Visual Studio آن ساده و از یک فایل، براي تمامی صفحات باشد .براي اینکار ابتدا با استفاده از
سازیم و مجددا روند ذکر شده در روش قبل را تکرار می کنیم .
<%@ 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 معرفی
<% "TagName="rssFeed" Src="ssFeed.ascx "Register TagPrefix="rss@%>
که می خواهید از آن استفاده کنید، معرفی نمایید . به عنوان مثال : 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 مطمئنا در هنگام نمایش اطلاعات سایرین در پایگاه خود ، بهتر است که به ازاي هر بار، بارگذاري صفحه ، به پایگاه ارائه دهنده
براي یک RSS کردن اطلاعات Cache مراجعه نکنیم . بلکه در یک مدت زمان مشخص تغییر اطلاعات را چک نماییم . یکی از ساده ترین روشها
را از پایگاه ارائه دهنده مجددا بخوانیم .براي این Feed مدت زمان دلخواه می باشد تا هر زمان که این بازه زمانی به پایان می رسد بتوانیم اطلاعات
کار می توانیم به صورت زیر عمل نماییم :
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
{
protected 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.aryalink.com آریالینکپورتال ایرانی
منبع مطلب: رادکام
----------------------------------------------------------------------------------------------------------------------------------
در پایگاه اطلاع رسانی RSS ارائه
اخبار پایگاه خود را در اختیارسایرین ( RSS در این قسمت شما به عنوان مدیر یک پایگاه اطلاع رسانی هستید که می خواهد بخش
قرار دهد . پیشاز شروع ،لازم است که ) (News aggregator) دیگر پایگاههاي اطلاع رسانی و یا خوانندگان خبر از طریق برنامه گردآور خبر
را که می خواهید تغییرات آن را نمایش (Data base) 2,0 را مطالعه نماید.حال جدولی از پایگاه داده RSS و xml قوانین پایه اي مربوط به
استفاده می کنیم که شامل فیلدهاي زیر است : NEWS_ دهید انتخاب نمایید براي مثال ما در اینجا از جدولی به نام
ID
TITLE
LEAD
IMAGE_PATH
DATE
جدول بالا را تولید نماید . RSS برنامه اي خواهیم نوشت تا فایل NET. در بخش بعدي با استفاده از
Feed براي ایجاد Net. • نوشتن برنامه اي با استفاده از
استفاده شود . ) RSS است که از پایگاه داده خود می سازید تا از آن براي ارائه xml یک فایل Feed )
هاي مورد استفاده NameSpace
نیز احتیاج Encoding خواهیم داشت و چون به کلاس System.Xml احتیاج به xml مشخص است که براي کار با داده هاي
استفاده کنیم . System.Text مربوط به آن NameSpace داریم باید از
توضیح : نکات تکمیلی در مورد هر کد در برابر آن ارائه شده است .
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Web;
using System.Xml;
لازم داریم Page_load آنچه در
xml 1. ایجاد و یا به روز رسانی فایل
2. اتصال به پایگاه داده براي خواندن اطلاعات مورد نظر
3. بستن تگها و اتمام کار بر روي فایل
xml -1 ایجاد و یا به روز رسانی فایل
XmlTextWriter xmlWriter = new XmlTextWriter(Server.MapPath("rss.xml")
,Encoding.UTF8);
ایجاد کرده و یا اطلاعات آن را به روز نماییم. با استفاده از این شی می xml این امکان را داریم که یک فایل xmlWriter تعریف شئ از نوع
فایل را نیز تعیین کرد. Encoding توان
xmlWriter.WriteStartDocument();
xml نظیر نسخه 1,0 براي تگ xml شروع فایل و افزودن مشخصات لازم براي فایل
xmlWriter.WriteStartElement("rss");
افزودن تگ شروع کننده عنصر <rss> عنوان اولین عنصر در فایل به
xmlWriter.WriteAttributeString("version","2.0");
<rss> افزودن مشخصه "نسخه" براي عنصر
xmlWriter.WriteStartElement("channel");
RSS براي معرفی پایگاه ارائه دهنده <channel> افزودن تگ شروع کننده عنصر
xmlWriter.WriteElementString("title", "MyDomain NewsWriter");
ydomain.com به عنوان مثال . RSS براي نمایشعنوان پایگاه ارائه دهنده <channel> به عنوان فرزند <title> افزودن عنصر
می باشد . mydomain.com متعلق به سایت feed نمایان گر این مطلب است که این
xmlWriter.WriteElementString("link","http://mydomain.com");
RSS براي نمایشآدرس پایگاه ارائه دهنده <channel> به عنوان فرزند <link> افزودن عنصر
xmlWriter.WriteElementString("description","mycomain.com");
RSS براي نمایش توضیحات پایگاه ارائه دهنده <channel> به عنوان فرزند <description> افزودن عنصر
xmlWriter.WriteElementString("copyright","(c) 2004, Mydomain.com. All
rights reserved.");
RSS براي نمایشحقوق پدید آورندگان پایگاه ارائه دهنده <channel> به عنوان فرزند <copyright> افزودن عنصر
xmlWriter.WriteElementString("ttl","25");
براي اینکه نرم افزار گردآور خبر بداند پس از چه مدت <channel> به عنوان فرزند Time To Live یا <ttl> افزودن عنصر
زمانی باید فایل مورد نظر را براي اطلاعات جدید چک نماید . به عبارت دیگر پس از چه مدت زمانی اطلاعات موجود "قدیمی" به حساب می آیند
بر حسب دقیقه می باشد . <ttl> . و دوباره باید به روز شوند
-2 خواندن از روي پایگاه داده
SqlConnection sqlCn = new
SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]);
web.config خواندن رشته حاوي اطلاعات اتصال به پایگاه داده از
string sqlNews = "SELECT TOP 15 ID, LEAD, TITLE, DATE FROM NEWS WHERE
STATUS_ID=2 ORDER BY DATE DESC";
تعریف پرس وجو براي نمایش ردیفهاي مورد نظر
sqlCn.Open();
SqlCommand sqlcmdNews = new SqlCommand(sqlNews, sqlCn);
SqlDataReader drNews = sqlcmdNews.ExecuteReader();
برقراري اتصال با پایگاه داده و شروع خواندن اطلاعات
while(drNews.Read())
{
xmlWriter.WriteStartElement("item");
و مطالب آن به ازاي هر خبر خوانده شده از پایگاه <item> افزودن تگ شروع کننده عنصر
xmlWriter.WriteElementString("title",drNews.GetString(drNews.GetOrdinal("
TITLE")));
به ازاي هر خبر خوانده شده از پایگاه که حاوي عنوان خبر خوانده شده می <item> به عنوان فرزند عنصر <title> افزودن عنصر
باشد.
xmlWriter.WriteElementString("description",drNews.GetString(drNews.GetOrd
inal("LEAD")));
به ازاي هر خبر خوانده شده از پایگاه که حاوي خلاصه خبر خوانده <item> به عنوان فرزند عنصر <description> افزودن عنصر
شده می باشد .
xmlWriter.WriteElementString("link","http://mydomain.com/news.aspx?"+drNe
ws.GetInt32(drNews.GetOrdinal("ID")).ToString());
به ازاي هر خبر خوانده شده از پایگاه که حاوي آدرس خبر بوده و براي نمایش متن <item> به عنوان فرزند عنصر <link> افزودن عنصر
کامل خبر در مرور گر مورد استفاده قرار می گیرد.
xmlWriter.WriteElementString("pubDate",drNews.GetDateTime(drNews.GetOrdin
al("DATE")).ToString("R"));
به ازاي هر خبر خوانده شده از پایگاه حاوي تاریخ خبر خوانده شده می باشد . <item> به عنوان فرزند عنصر <pubDate> افزودن عنصر
822 نوشته شده باشد. RTC این تاریخ باید به صورت استاندارد
xmlWriter.WriteEndElement();
در پایان هر خبر </item> افزودن تگ پایانی
}
-3 در انتها : بستن تگها و پایان کار بروي فایل
xmlWriter.WriteEndElement();
</channel> افزودن تگ پایانی
xmlWriter.WriteEndElement();
</rss> افزودن تگ پایانی
xmlWriter.WriteEndDocument();
بستن تمامی تگ ها و یا مشخصه ها که بسته نشده اند .
xmlWriter.Close();
پایان کار با فایل
نسخه کامل برنامه
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
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;
using System.IO;
using System.Text;
using System.Configuration;
namespace rss
{
/// <summary>
/// Summary description for createXml.
/// </summary>
public class createXml : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
XmlTextWriter xmlWriter = new XmlTextWriter(Server.
MapPath("rss.xml")
,Encoding.UTF8);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("rss");
xmlWriter.WriteAttributeString("version","2.0");
xmlWriter.WriteStartElement("channel");
xmlWriter.WriteElementString("title", "MyDomain News");
xmlWriter.WriteElementString("link","http://MyDomain.com");
xmlWriter.WriteElementString("description","MyDomain");
xmlWriter.WriteElementString("copyright","(c) 2004,
MyDomain.com. All rights reserved.");
xmlWriter.WriteElementString("ttl","25");
SqlConnection sqlCn = new
SqlConnection(ConfigurationSettings.AppSettings
["ConnectionString"]);
sqlCn.Open();
string sqlNews = "SELECT TOP 15 ID, LEAD,
TITLE, IMAGE_PATH,DATE FROM NEWS WHERE
STATUS_ID=2 ORDER BY DATE
DESC";
SqlCommand sqlcmdNews = new SqlCommand(sqlNews, sqlCn);
SqlDataReader drNews = sqlcmdNews.ExecuteReader();
while (drNews.Read())
{
xmlWriter.WriteStartElement("item");
xmlWriter.WriteElementString("title",drNews.GetString
(drNews.GetOrdinal("TITLE")));
xmlWriter.WriteElementString("description",drNews.GetString
(drNews.GetOrdinal("LEAD")));
xmlWriter.WriteElementString("link",
"http://mydomain.com/news.aspx?"
+drNews.GetInt32(drNews.GetOrdinal("ID")).
ToString()+".html");
xmlWriter.WriteElementString("pubDate",
drNews.GetDateTime(drNews.GetOrdinal("DATE"))
.ToString("R"));
xmlWriter.WriteEndElement();
}
drNews.Close();
sqlCn.Close();
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Close();
}
}
پایگاه اطلاع رسانی قرار دارد ، در اختیار (Root) ایجاد شده که در ریشه xml پس از اجراي این برنامه کوتاه می توانید فایل
دیگران قرار دهید .
تولید شده از پایگاه اطلاعاتی Feed تعیین درستی
ایجاد شده ، بیازمایید. به Feed هرگز فراموش نکنید که در انتهاي کار، اطلاعات تولیدي خود را از جهت درستی و استاندارد بودن
RSS شما را انجام می دهند . به عنوان مثال از پایگاه xml همین دلیل نرم افزار ها و پایگاههایی وجود دارند که عملیات تعیین درستی فایل
پایگاه خود را وارد کرده و نتیجه نهایی را xml می توانید استفاده کنید. براي استفاده از خدمات این پایگاه ، کافی است که آدرس فایل Validator
می باشد . Feed Validator دریافت کنید. از دیگر پایگاههاي ارائه دهنده این سرویس
نظرات شما عزیزان:
sara ![](/weblog/file/img/m.jpg)
ساعت12:05---7 مرداد 1391
یادمان باشد حرفی نزنیم که به کسی بر بخورد
نگاهی نکنیم که دل کسی بلرزد
خطی ننویسیم که آزار دهد کسی را
یادمان باشد که روز و روزگار خوش است وتنها دل ما دل نیست