科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用Visual C#制作新闻阅读器 2

用Visual C#制作新闻阅读器 2

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

     然后我们就可以遍历它的子节点,根据子节点的Name属性,读取我们需要的信息

作者:中国IT实验室 来源:中国IT实验室 2007年9月10日

关键字: C# 编程

  • 评论
  • 分享微博
  • 分享邮件
  

  然后我们就可以遍历它的子节点,根据子节点的Name属性,读取我们需要的信息。

rss.Channel channel=new rss.Channel();
channel.Items=new Hashtable();
{
 switch ( channelNode.ChildNodes[i].Name )
 {
  case "title":
   {
    channel.Title = channelNode.ChildNodes[i].InnerText;
    break;
   }
  case "item":
   {
    rss.Item item=this.getRssItem(channelNode.ChildNodes[i]);
    channel.Items.Add(channel.Items.Count,item );
    break;
   }
 }
}

  如果发现是item子节点,就调用getRssItem函数,同样通过遍历子节点的方法,将其子节点内容填入Item结构中,然后再添加到Channel结构的Items集合中。因为本程序并不关心添加到集合的键值,只需要它是不重复的值,所以我传入了Count属性。

  3.将读出的信息显示在程序中

  将RSS内容读出后,就需要把信息展示给用户了。我们这里用的是基本的TreeView方法,通过遍历Channel结构的Items集合,将其标题添加到TreeView中。

private void ViewRss(rss.Channel channel)
{
 treeRss.BeginUpdate();
 treeRss.Nodes.Clear();
 TreeNode channelNode=treeRss.Nodes.Add(channel.Title );
 channelNode.Tag="";
 for (int i=0;i <channel.Items.Count ;i++)
 {
  rss.Item item=(rss.Item)channel.Items[i];
  TreeNode itemNode=channelNode.Nodes.Add(item.Title );
  itemNode.Tag=item.Link;
 }
 treeRss.ExpandAll();
 treeRss.EndUpdate();
}

  同时我们还可以设置TreeView的每个子节点的Tag属性为它对应的链接。以便当选中子节点时就可以通过读取Tag属性访问具体的信息。

private void treeRss_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
 TreeNode itemNode=e.Node ;
 string URL=itemNode.Tag.ToString();
 if (URL.Length!=0)
  System.Diagnostics.Process.Start( URL);
}

  程序运行效果如图2。


  三.小结

  怎么样,一个简单的RSS新闻阅读器就按前面所说轻松完成了,容易吧。虽然它还有很多不足,但如果大家通过这个例子学会了抽取RSS链接信息的基本方法,那就足够了!

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章