• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Chương trình đọc tin Rss?

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Điều hành viên: tungblt, vuathongtin

binkute
Thành viên năng nổ
Thành viên năng nổ
Bài viết: 57
Ngày tham gia: T.Ba 15/01/2013 8:01 pm
Has thanked: 10 time
Been thanked: 3 time

Chương trình đọc tin Rss?

Gửi bàigửi bởi binkute » T.Sáu 06/09/2013 2:55 pm

VD mình có một trang lây tin rss như sau http://congthehemoi.com/news/rss/Cong-nghe.html
Mình muốn xây dựng một công cụ hiển thị danh sách tiêu đề các bản tin, click vào tiêu đề sẽ nhảy đên trang web đó bằng vb.net.
Mọi người giúp mình với



jupitervn
Thành viên chính thức
Thành viên chính thức
Bài viết: 17
Ngày tham gia: T.Năm 27/03/2008 3:26 pm
Has thanked: 1 time

Re: Chương trình đọc tin Rss?

Gửi bàigửi bởi jupitervn » CN 09/09/2018 5:24 pm

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace PostManager
{
public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}

private void FrmMain_Load(object sender, EventArgs e)
{

}

private String[,] getRssData(String channel)
{
System.Net.WebRequest myRequest = System.Net.WebRequest.Create(channel);
System.Net.WebResponse myResponse = myRequest.GetResponse();

System.IO.Stream rssStream = myResponse.GetResponseStream();
System.Xml.XmlDocument rssDoc = new System.Xml.XmlDocument();

rssDoc.Load(rssStream);

//Lay cac noi dung trong the Item
System.Xml.XmlNodeList rssItems = rssDoc.SelectNodes("rss/channel/item");

//Khai bao mang bien tam theo so luong Item lay duoc
//De tranh tran mang array
String[,] tempRssData = new String[rssItems.Count, 3];

for (int i = 0; i < rssItems.Count; i++)
{

System.Xml.XmlNode rssNode;

rssNode = rssItems.Item(i).SelectSingleNode("title");
if (rssNode != null)
{
tempRssData[i, 0] = rssNode.InnerText;
}
else
{
tempRssData[i, 0] = "";
}

rssNode = rssItems.Item(i).SelectSingleNode("description");
if (rssNode != null)
{
tempRssData[i, 1] = rssNode.InnerText;
}
else
{
tempRssData[i, 1] = "";
}

rssNode = rssItems.Item(i).SelectSingleNode("link");
if (rssNode != null)
{
tempRssData[i, 2] = rssNode.InnerText;
}
else
{
tempRssData[i, 2] = "";
}
}
return tempRssData;
}

//Khai bao bien chung de su dung
String[,] rssData = null;

private void btUrl_Click(object sender, EventArgs e)
{
string sUrl = txtUrl.Text;
if (!string.IsNullOrEmpty(sUrl))
{
//MessageBox.Show("Url 0 trong");
cbTitle.Items.Clear();
rssData = getRssData(txtUrl.Text);
for (int i = 0; i < rssData.GetLength(0); i++)
{
if (rssData[i, 0] != null)
{
cbTitle.Items.Add(rssData[i, 0]);
}
cbTitle.SelectedIndex = 0;
}
lblCount.Text = rssData.GetLength(0).ToString();
}

}

private void cbTitle_SelectedIndexChanged(object sender, EventArgs e)
{
if (rssData[cbTitle.SelectedIndex,1] != null)
{
txtDesciption.Text = rssData[cbTitle.SelectedIndex, 1];
}
if (rssData[cbTitle.SelectedIndex, 2] != null)
{
txtLink.Text = rssData[cbTitle.SelectedIndex, 2];
}
}


private void btGo_Click(object sender, EventArgs e)
{
System.Diagnostics.Process.Start(rssData[cbTitle.SelectedIndex, 2]);
}
}
}


Quay về “Visual Basic .NET và C# (VB.NET & C#)”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.12 khách