LINQ to XML で RSSリーダー。途中で挫折
コンソールアプリケーションで、先頭に
using System.Xml.Linq;
を加えて、
XDocument rssFeed = XDocument.Load(@"http://rss.rssad.jp/rss/itmatmarkit/fdotnet/rss.xml"); var posts = from item in rssFeed.Descendants("item") select new { Title = item.Element("title").Value, Url = item.Element("link").Value, }; foreach (var post in posts) { Console.WriteLine("{0}", post.Title); }
問題なくRSSのTitle部分だけ持ってくることができました。簡単。
続いて、このページ自身のRSSにも同様にやってみよう。
XDocument rssFeed = XDocument.Load(@"http://d.hatena.ne.jp/p-nix/rss"); var posts = from item in rssFeed.Descendants("item") select new { Title = item.Element("title").Value, Url = item.Element("link").Value, }; foreach (var post in posts) { Console.WriteLine("{0}", post.Title); }
なぜか値が0件になる。Descendants でitemの部分をもってこれないようだ。@IT の RSS は RSS2.0、はてなの RSS は RSS 1.0 。バージョンが異なるので構造も異なるのだが、item、title、link はどちらも同じだと思うんだけどな。
分からない。挫折しました。。