نوشته شده توسط
رامین مرادی
شما داده های دریافتی رو بریز تو یه دیتا تیبل بعد با یه حلقه ساده میتونی سرچ انجام بدی یا با استفاده از فیلتر ها جستجوی پیشرفته تری روی همون دیتا تیبل انجام بدی
من کد را نوشتم آیا لازم است دیتا تیبل براش ایجاد کنم یاتوی همین برنامه می شه فقط حلقه جستجو اضافه کرد.باتشکر
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;
using System.Xml;
namespace rssproject
{
public partial class mainfrm : Form
{
public mainfrm()
{
InitializeComponent();
}
List<Rssitem> lstitem = new List<Rssitem>();
public void load_rss()
{
try
{
listView1.Items.Clear();
foreach (Rssitem rss in lstitem)
{
ListViewItem listview = new ListViewItem();
listview.Text = rss.Title;
listview.Tag = rss;
// listview.SubItems.Add(rss.Title);
listview.SubItems.Add(rss.Matn);
listview.SubItems.Add(rss.Link);
listView1.Items.Add(listview);
}
}
catch (Exception) { MessageBox.Show("خطا : "); }
}
private void load_data(string RssSite)
{
try
{
WebRequest request = WebRequest.Create(RssSite);
Stream stream = request.GetResponse().GetResponseStream();
XmlDocument rss = new XmlDocument();
rss.Load(stream);
XmlNodeList items = rss.SelectNodes("rss/channel/item");
foreach (XmlNode item in items)
{
Rssitem rssitem = new Rssitem();
rssitem.Title = item.SelectSingleNode("title").InnerText;
rssitem.Matn = item.SelectSingleNode("description").InnerText;
rssitem.Link = item.SelectSingleNode("link").InnerText;
lstitem.Add(rssitem);
}
}
catch { }
}
private void mainfrm_Load(object sender, EventArgs e)
{
load_data("https://www.mashreghnews.ir/rss/tp/16");
load_rss();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
Rssitem rss = new Rssitem();
if (listView1.SelectedItems.Count > 0)
{
rss = (Rssitem)listView1.SelectedItems[0].Tag;
System.Diagnostics.Process.Start(rss.Link);
}
}
catch { }
}
}
}