PDA

View Full Version : ثبت محتویات فید RSS در بانک اطلاعاتی



alisebt
چهارشنبه 15 مهر 1388, 17:50 عصر
سلام.
کسی از دوستان می تونه در مورد ثبت مستقیم اطلاعاتی که تو فایل RSS یک سایت هست در بانک اطلاعاتی SQL Server کمک کنه؟
مثلا می خوایم یه باتن داشته باشیم که وقتی روش کلیک می کنیم اطلاعات رو از فید بخونه و تو بانک ذخیره کنه.
ممنون میشم.

alisebt
پنج شنبه 16 مهر 1388, 07:41 صبح
یعنی واقعا کسی تا حالا این کار رو نکرده؟ یا حتی تجربه ای هم در این زمینه نیست؟

alisebt
پنج شنبه 16 مهر 1388, 08:43 صبح
ممنون دوست عزیز.
اگر لطف کنید و کد اون قسمت مربوط به خوندن اطلاعات و نوشتن تو بانک رو برام بذارید ، فکر کنم بتونم تبدیلش کنم به ای اس پی. یا حداقل الگوریتمش رو متوجه می شم.
ممنون میشم اگه کد رو بذارین.

alisebt
شنبه 18 مهر 1388, 11:35 صبح
خودم یه راه حل براش پیدا کردم ولی خوب اصولی نیست ، اما کار راه بندازه.
اول اطلاعات XML رو می خونیم و توی یه datagrid بارگذاری می کنیم.
بعد datagrid رو ردیف به ردیف میخونیم و اگه تکراری نبود تو بانک درج می کنیم.
اگه کسی از دوستان اطلاعات بیشتری داره لطفا بگه.

mahdi_farhani
شنبه 18 مهر 1388, 21:25 عصر
خوب چرا تو گرید ؟!!!!!!!!!!! بریزش تویک دیتا تیبل و بقیه ماجرا

alisebt
شنبه 18 مهر 1388, 21:53 عصر
خوب چرا تو گرید ؟!!!!!!!!!!! بریزش تویک دیتا تیبل و بقیه ماجرا
آره خوب اونجوريم ميشه.
من دستم به گريد آشنا تره ولي حرف شما كاملا متين.

ممنون از راهنماييتون.

mahdi_farhani
شنبه 18 مهر 1388, 22:00 عصر
آحه قرار نیست چیزی به کاربر نمایش داده بشه و این کار باعث میشه سربار اضافی به سیستم وارد بشه ، در ضمن حتی شما نیازی ندارید درون دیتاتیبل هم نگه داری کنید فقط کافیه همزمان با خواندن RSS اونو Insert کنید

alisebt
شنبه 18 مهر 1388, 22:09 عصر
آحه قرار نیست چیزی به کاربر نمایش داده بشه و این کار باعث میشه سربار اضافی به سیستم وارد بشه ، در ضمن حتی شما نیازی ندارید درون دیتاتیبل هم نگه داری کنید فقط کافیه همزمان با خواندن RSS اونو Insert کنید

دقيقا من دنبال همچين چيزي بودم ولي نتونستم مستقيما آيتم هاي Rss رو توي بانكم ذخيره كنم. اگه راهنمايي كنيد ممنون ميشم.

mahdi_farhani
شنبه 18 مهر 1388, 22:14 عصر
به شکل خیلی ساده ، توسعش با خودت



rss.Load(rssReader.RssUrl);

XmlNodeList rssItems = rss.SelectNodes("rss/channel/item");
foreach (XmlNode node in rssItems)
{

title= node.SelectSingleNode("title").InnerText;
link= node.SelectSingleNode("link").InnerText.Trim().Substring(node.SelectSingleNode ("link").InnerText.Trim().IndexOf("http://"));
desc = node.SelectSingleNode("description").InnerText;
insertIntoTable(title,link,desc)
}

نکته :
متغییر rss از نوع XmlDocument هست
InsertIntoTable یک متد برای درج در بانک هست ( که بحث در نحوه ذخیره سازی خارج از این موضوع هست )
همچنین میتونید اطلاعاتی دیگر از فید هم بخونید من این سه مورد رو خوندم