RSS2.0を作りこむ。
以下のコードを参考にVB.NETに移植させていただきました。
Create a valid RSS 2.0 document using XmlTextWriter
By Daniel Bright
http://www.codeproject.com/aspnet/RSSviaXmlTextWriter.asp
<%@ Page Language="VB" EnableViewState="false" Debug="true" %> <%@ Import Namespace="System.Diagnostics" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Xml" %> <script runat="server"> '以下のコードを参考にさせていただきました。 'Create a valid RSS 2.0 document using XmlTextWriter 'By Daniel Bright 'http://www.codeproject.com/aspnet/RSSviaXmlTextWriter.asp '-------------------------------------------------------------------------------------------------- 'RSS初期処理:エレメントを準備します。 public function WriteRSSPrologue(writer as XmlTextWriter )as XmlTextWriter writer.Formatting = Formatting.Indented 'http://support.microsoft.com/default.aspx?scid=kb;ja;301282 writer.WriteStartDocument() writer.WriteStartElement("rss") writer.WriteAttributeString("version","2.0") writer.WriteAttributeString("xmlns:blogChannel", "http://127.0.0.1/My%20blogChannel") writer.WriteStartElement("channel") writer.WriteElementString("title","RSSのテストですよ") writer.WriteElementString("link","http://127.0.0.1/Link%20To") writer.WriteElementString("description", "RSSのテストなのでいろいろ書き換えてみてください。") writer.WriteElementString("copyright","C# Original Copyright 2002-2003 By Daniel Bright") writer.WriteElementString("copyright","VB Version Copyright 2004 By Moo") writer.WriteElementString("generator","RSSviaXmlTextWriter v1.0vb") return writer end function '-------------------------------------------------------------------------------------------------- 'RSS主処理:エレメントを1件追加します。 public function AddRSSItem(writer as XmlTextWriter , _ sItemTitle as string , sItemLink as string , _ sItemDescription as string ) as XmlTextWriter writer.WriteStartElement("item") writer.WriteElementString("title",sItemTitle) writer.WriteElementString("link",sItemLink) writer.WriteElementString("description",sItemDescription) writer.WriteElementString("pubDate", DateTime.Now.ToString("r")) writer.WriteEndElement() return writer end function '-------------------------------------------------------------------------------------------------- 'RSS後処理:エレメントを閉じてドキュメントを終了させます。 public function WriteRSSClosing( writer as XmlTextWriter)as XmlTextWriter writer.WriteEndElement()'channel writer.WriteEndElement()'rss writer.WriteEndDocument() return writer end function '-------------------------------------------------------------------------------------------------- public sub Page_Load(sender as object ,e as System.EventArgs) dim writer as XmlTextWriter = new XmlTextWriter(Response.OutputStream, System.Text.Encoding.UTF8) WriteRSSPrologue(writer) Dim MyFileName = Dir("x:\juke\*.*") 'すべてのファイル名を列挙する Do While MyFileName <> "" AddRSSItem(writer,MyFileName, "http://127.0.0.1/" & MyFileName, MyFileName) MyFileName = Dir() ' Get next entry. Loop WriteRSSClosing(writer) writer.Flush() writer.Close() Response.ContentEncoding = System.Text.Encoding.UTF8 Response.ContentType = "Text/Xml" Response.Cache.SetCacheability(HttpCacheability.Public) Response.End() end sub '-------------------------------------------------------------------------------------------------- </script>