.NET TIPS RSS 2.0/ATOM 1.0フィードを処理するには?[3.5、C#、VB]デジタルアドバンテージ 岸本 真二郎2008/06/12 |
|
|
.NET Framework 3.5に含まれるWCF(Windows Communication Foundation)には、RSS/ATOMフィードを配信する機能が用意されているが、これに含まれるクラスを利用することで、アプリケーションからRSS 2.0/ATOM 1.0のフィード(以下、単に「RSSフィード」)を直接読み込むことができる。
本稿では、例としてコンソール・アプリケーションでRSSフィードを読み込む処理を紹介する。
まずVisual Studioでコンソール・アプリケーションのプロジェクトを新規作成する。その後、.NET 3.5では「System.ServiceModel.Web」への参照を、.NET 4以降では「System.ServiceModel」への参照を追加しておく。そして、Mainメソッドの中に、以下に示すコードを記述する。
| ||
@ITのRSS 2.0フィードを読み込むサンプル・プログラム(上:C#、下:VB) |
| |
サンプル・プログラムの実行例 |
RSSフィードを読み込み、処理するのはSyndicationFeedクラス(System.ServiceModel.Syndication名前空間)である。このクラスはRSSフィードをXmlReaderクラス(System.Xml名前空間)のインスタンスを使用して読み込む。XmlReaderクラスでは、CreateメソッドでRSSフィードが存在するURLを指定することで、ネットワークから直接XMLデータを読み込むことができる。
SyndicationFeedオブジェクトからは、RSSフィードに含まれる個々のアイテム(記事)をSyndicationItemクラス(System.ServiceModel.Syndication名前空間)のオブジェクトのコレクションとしてItemsプロパティから取得できる。上記のコードでは、foreachステートメントにより各アイテムについての詳細について表示している。
SyndicationFeedクラスや、SyndicationItemクラスには、title、descriptionといったRSSフィードで定義されている要素と同じ名前のプロパティが用意されている。ただしこれらの値は、String型ではなく、TextSyndicationContentクラス(System.ServiceModel.Syndication名前空間)のオブジェクトなので、文字列として取得するにはTextプロパティを使用しなければならない。
利用可能バージョン:.NET Framework 3.5以降 カテゴリ:WCF 処理対象:RSSフィード 使用ライブラリ:SyndicationFeedクラス(System.ServiceModel.Syndication名前空間) 使用ライブラリ:RSSフィードをXmlReaderクラス(System.Xml名前空間) 使用ライブラリ:SyndicationItemクラス(System.ServiceModel.Syndication名前空間) |
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|