<%@ Page Language="C#" %> <%@ Assembly Name="imsfeeds" %> <%@ Import Namespace="Microsoft.Feeds.Interop" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Xml" %> <% if (Request.Params.Get("feed") == null) { %> Feed Normalizer for Atom and RSS
 

Pretty?

Copyright © 2006 Dave Johnson, and Sam Ruby
<% } else { string url = Request.Params.Get("feed"); FeedsManager fm = new FeedsManagerClass(); IFeedFolder rootFolder = (IFeedFolder)fm.RootFolder; IFeed feed = null; if (!fm.IsSubscribed(url)) { feed = (IFeed)rootFolder.CreateFeed(url, url); } else { feed = (IFeed)fm.GetFeedByUrl(url); } feed.Download(); string xml = feed.Xml(feed.itemCount, FEEDS_XML_SORT_PROPERTY.FXSP_PUBDATE, FEEDS_XML_SORT_ORDER.FXSD_DESCENDING, FEEDS_XML_FILTER_FLAGS.FXFF_ALL, FEEDS_XML_INCLUDE_FLAGS.FXIF_CF_EXTENSIONS); if (Request.Params.Get("pretty") != null) { try { // based on http://dotnet.editme.com/codePrettyPrintXML MemoryStream MS = new MemoryStream(); XmlTextWriter W = new XmlTextWriter(MS, Encoding.Unicode); XmlDocument D = new XmlDocument(); D.LoadXml(xml); W.Formatting = Formatting.Indented; D.WriteContentTo(W); W.Flush(); MS.Flush(); MS.Position = 0; StreamReader SR = new StreamReader(MS); xml = SR.ReadToEnd(); } catch (XmlException) { } } Response.ContentType = "application/xml"; Response.Write(xml); feed.Delete(); } %>