C# 使用 Microsoft.Feeds 组件获取 RSS 全文

 

微软提供了一个操作 Feed 的 Com 组件,我们可以利用这个组件来操作 RSS,下面就来介绍一下如何使用这个组件。

1、在项目的解决方案资源管理器中,展开引用列表。

2、如果存在,请右键单击 Microsoft.Feeds.Interop 并从上下文菜单中选择“ 删除引用 ”。

3、右键单击 References 并选择添加引用。

  

4、单击添加引用对话框的 COM 选项卡。在列表中找到“Microsoft Feeds,版本1.0”。

  

5、选择它并单击确定。

以下是代码:

 using System;
 using System.Collections.Generic;
 using System.IO;
 using System.Text;
 using Microsoft.Feeds.Interop;
 namespace RssFeedReader
 {
   class ReadRssFeed
   {
     static void Main(string[] args)
     {
        FeedsManagerClass fm = new FeedsManagerClass();
        string url = @"http://feed.cnblogs.com/blog/sitehome/rss"; //URL
        IFeedFolder rootFolder = (IFeedFolder)fm.RootFolder;
        IFeed feed = null;
        if (!fm.IsSubscribed(url))
        {
           feed = (IFeed)rootFolder.CreateFeed(url, url);
           feed.Rename("Nord Pool Spot UMM");
        }
        else
        {
           feed = (IFeed)fm.GetFeed(@"Nord Pool Spot UMM");
        }
        feed.Download();
        IFeedItem tt = feed.GetItem(0) as IFeedItem;
        string title = tt.Title;
        string xml = feed.Xml(feed.ItemCount,
           FEEDS_XML_SORT_PROPERTY.FXSP_PUBDATE,
           FEEDS_XML_SORT_ORDER.FXSO_ASCENDING,
           FEEDS_XML_FILTER_FLAGS.FXFF_ALL,
           FEEDS_XML_INCLUDE_FLAGS.FXIF_CF_EXTENSIONS);
        StreamWriter sw = new StreamWriter(File.OpenWrite("test.xml"));
        sw.Write(xml);
        sw.Close();
     }
   }
 }
posted @ 2012-04-13 23:01  Charles Zhang  阅读(1353)  评论(0编辑  收藏  举报