.NET

今さらなネタだけど、たまに使うのよね。

いくつか方法があるけど、簡単にのはここかな?

参照追加

System.ServiceModel を追加してね。

取得コード

たとえば、こんな感じかな。

using System.ServiceModel.Syndication;
using System.Xml;

namespace rssYomiCon1 ※もちろんnamespace名は任意で
{
   class rssGet1
   {
       public string url = "";
       public string title = "";
       public string description = "";
       public List<rssData> rssget(string urlx)
       {
           List<rssData> r = new List<rssData>();
           url = urlx;
           using (XmlReader rdr = XmlReader.Create(url))
           {
               SyndicationFeed feed = SyndicationFeed.Load(rdr);
               title = feed.Title.Text;
               description = feed.Description.Text;
               foreach (SyndicationItem item in feed.Items)
               {
                   rssData rd = new rssData();
                   rd.title = item.Title.Text;
                   rd.desctipsion = item.Summary.Text;
                   rd.timestamp = item.PublishDate.LocalDateTime;
                   rd.link = (item.Links.Count > 0 ? item.Links[0].Uri.AbsolutePath : "");
                   r.Add(rd);
               }
           }
           return (r);
       }
   }
 
   class rssData
   {
       public string title;
       public string desctipsion;
       public DateTime timestamp;
       public string link;
   }

}

うん。実際に使う時は、こんな感じで。

           rssGet1 rss = new rssGet1();
           List<rssData> ro = rss.rssget("どこかのRSSのURL");
           Console.WriteLine("Title:{0}",rss.title);
           Console.WriteLine("Title:{0}", rss.description);

トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-03-19 (土) 16:42:20