C#でNHKニュースのRSSを取得して表示する

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

C#でNHKニュースのRSSを取得して表示する

投稿記事 by taketoshi » 8年前

サイネージを作るために次はニュースのRSS取得テストを実施中
コード自体はなんてことないです。某所のサンプルコードを改変してNHKニュースを表示。

まずはコンソールでテスト。
無題.png
無題.png (44.6 KiB) 閲覧数: 1182 回
問題なく表示されてる。

C#の.netは高度な技術の実現が本当に楽ちんですね。
コードはこんな感じ。

CODE:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

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

namespace RssReader
{
    class Program
    {
        static void Main(string[] args)
        {
            string url = "http://www3.nhk.or.jp/rss/news/cat0.xml";

            using (XmlReader rdr = XmlReader.Create(url))
            {
                SyndicationFeed feed = SyndicationFeed.Load(rdr);

                Console.WriteLine("title:" + feed.Title.Text);
                Console.WriteLine("description:" + feed.Description.Text);
                Console.WriteLine("--- items ---");

                foreach (SyndicationItem item in feed.Items)
                {
                    Console.WriteLine("item Title:" + item.Title.Text);
                    Console.WriteLine("詳細:" + item.Summary.Text);
                    Console.WriteLine("Data:" + item.PublishDate.ToString());
                    Console.WriteLine("");
                }
            }
        }
    }
}
次はGUI化してお天気+時計+ニュース情報の表示である。

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

RE: C#でNHKニュースのRSSを取得して表示する

投稿記事 by taketoshi » 8年前

よし、お天気と時計を実装だ。
次はUIをもう少し作りこんで内部データも保持部分が解り易いように改良しよう。
無題.png
無題.png (61.23 KiB) 閲覧数: 1098 回
内部の主要なプログラムはこれで殆ど完了。
C#は本当に簡単過ぎる。ドットネットスゲー。

アバター
沖 滉均
記事: 237
登録日時: 14年前

Re: C#でNHKニュースのRSSを取得して表示する

投稿記事 by 沖 滉均 » 8年前

ちょっとだけコメント
Console.WriteLine("")の部分は、改行入れたいだけなら引数なしでできますよ。

また、Visual Studio 2015(C#6)以降だと
[codecs]
Console.WriteLine("title:" + feed.Title.Text);
Console.WriteLine($"title:{feed.Title.Text}");
[/code]
こんな書き方も可能です。
今回のパターンだとどちらでもいいかなと思います。
あと、foreachの部分はこんな書き方もできます。使いやすいかどうかは別ですが
[codecs]
foreach(var item in feed.Items)
{
Console.WriteLine($@"Item Title:{item.Title.Text}
Detail:{item.Summary.Text}
Date:{item.PublishDate.ToString()}
");
}
[/code]

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

Re: C#でNHKニュースのRSSを取得して表示する

投稿記事 by taketoshi » 8年前

>>沖殿

C#6.0から実装された演算子??でしたか。
C#はこんな機能がどんどん追加されていくのですね。
随分と進化していく言語だなと感じました。