' メモ: ここでクラス名 "Feed1" を変更する場合は、App.config で "Feed1" への参照も更新する必要があります。 Imports Public Class Feed1 Implements IFeed1 Public Function CreateFeed() As SyndicationFeedFormatter Implements IFeed1.CreateFeed Dim latlongs = New Dictionary(Of String, String) latlongs.Add("4", "43.062089 141.354507") ' 札幌 latlongs.Add("11", "42.984906 144.381688") ' 釧路 latlongs.Add("20", "39.72158 140.115595") ' 秋田 latlongs.Add("25", "38.269993 140.874038") ' 仙台 latlongs.Add("50", "37.910211 139.05241") ' 新潟 latlongs.Add("63", "35.68693 139.701805") ' 東京 latlongs.Add("72", "36.65225 138.180861") ' 長野 latlongs.Add("38", "35.180508 136.913896") ' 名古屋 latlongs.Add("81", "34.695755 135.530262") ' 大阪 latlongs.Add("107", "33.560315 133.535428") ' 高知 latlongs.Add("90", "34.397225 132.461579") ' 広島 latlongs.Add("110", "33.607543 130.429516") ' 福岡 latlongs.Add("132", "31.52997 130.604439") ' 鹿児島 latlongs.Add("136", "26.212319 127.685938") ' 那覇 Dim doc = XDocument.Load("http://weather.livedoor.com/forecast/rss/index.xml") Dim feed = New SyndicationFeed("Weather GeoRSS", "", Nothing) Dim items = New List(Of SyndicationItem) For Each e In doc... If e..Value = "PR" Then Continue For End If ' SyndicationItem 作成 Dim item = New SyndicationItem(e..Value, _ e.<description>.Value & e.<image>.<url>.Value, _ New Uri(e.<link>.Value)) item.PublishDate = New DateTimeOffset(DateTime.Parse(e.<pubDate>.Value)) ' フィードへ <georss:point> 追加 Dim id = e.<ldWeather:lwws>.@id Dim point = <georss:point xmlns:georss="http://www.georss.org/georss"> <%= latlongs(id) %></georss:point> item.ElementExtensions.Add(point) ' コレクションへ追加 items.Add(item) Next feed.Items = items Dim query As String = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.QueryParameters.Get("format") If (query = "atom") Then Return New Atom10FeedFormatter(feed) Else Return New Rss20FeedFormatter(feed) End If End Function End Class