Click here to Skip to main content
15,889,838 members
Articles / Web Development / ASP.NET

RSS 2.0 Framework

Rate me:
Please Sign up or sign in to vote.
4.92/5 (67 votes)
19 Jan 2013LGPL37 min read 507.8K   15.2K   361  
RSS 2.0 framework implements the RSS 2.0 specification in strongly typed classes. The framework enables you to create and consume valid RSS 2.0 feeds in your code in just a few minutes.
// Copyright � 2009 by Christoph Richner. All rights are reserved.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//
// website http://www.raccoom.net, email support@raccoom.net, msn chrisdarebell@msn.com

using System;
using System.Xml;
using System.Xml.Serialization;
using System.Reflection;
using System.Net;

namespace Raccoom.Xml
{	
	/// <summary>
	/// IPersistentManager is responsible for saving and publishing.
	/// </summary>
	public interface IPersistentManager
	{
		/// <summary>
		/// Publish the object to the specified location.
		/// </summary>
		/// <param name="uri">The URI of the resource to receive the data. </param>
		/// <param name="method">The method used to send the data to the resource. (POST)</param>
		/// <param name="proxy">HTTP proxy settings for the WebRequest class.</param>
		/// <param name="networkCredential">Credentials for password-based authentication schemes such as basic, digest, NTLM, and Kerberos authentication.</param>
		/// <example>
		/// This sample shows how to publish (Default Proxy)
		/// <code>
		/// // password-based authentication for web resource
		/// System.Net.NetworkCredential providerCredential = new System.Net.NetworkCredential("username", "password", "domain");
		/// // use default system proxy
		/// Uri uri = new Uri("http://domain.net");
		/// Publish(uri, null, "POST", providerCredential);
		/// </code>
		/// This sample shows how to publish (Custom Proxy)
		/// <code>
		/// // password-based authentication for web resource
		/// System.Net.NetworkCredential providerCredential = new System.Net.NetworkCredential("username", "password", "domain");
		/// // password-based authentication for web proxy
		/// System.Net.NetworkCredential proxyCredential = new System.Net.NetworkCredential("username", "password", "domain");
		/// // create custom proxy
		/// System.Net.WebProxy webProxy = new System.Net.WebProxy("http://proxyurl:8080",false);
		/// webProxy.Credentials = proxyCredential;
		/// // publish
		/// Publish(uri, webProxy, "POST", providerCredential);
		/// </code>
		/// </example>
		void Publish (Uri uri, System.Net.WebProxy proxy, string method, System.Net.NetworkCredential networkCredential);
		/// <summary>
		/// Saves the object to a local file.
		/// </summary>
		/// <param name="filename">The path and name of the file to create.</param>
		void Save (string filename);
        /// <summary>
        /// Saves the object to a local file.
        /// </summary>
        void Save(string filename, System.Text.Encoding encoding);
		/// <summary>
		/// Write the object to the specified stream.
		/// </summary>
		/// <param name="stream">The Stream used to write the XML document.</param>
		void Save (System.IO.Stream stream);
        /// <summary>
        /// Saves the object to a local file.
        /// </summary>
        void Save(System.IO.Stream stream, System.Text.Encoding encoding);
		/// <summary>
		/// Transforms the XML data using XSLT stylesheet.
		/// </summary>
		/// <param name="styleSheet">An XmlReader object that contains the XSLT stylesheet.</param>
		/// <returns>An MemoryStream containing the results of the transform.</returns>
		System.IO.MemoryStream Transform (System.Xml.XmlReader styleSheet);
		/// <summary>
		/// Transforms the XML data using XSLT stylesheet to an output file (html)
		/// </summary>
		/// <param name="styleSheet">An XmlReader object that contains the XSLT stylesheet.</param>
		/// <param name="fileNameHtmlOutput">Filename of the html output file.</param>
		/// <example>
		/// This sample shows how to transform (XSLT/CSS) where transform.xslt is a custom xslt file.
		/// <code>
		/// // transform to stream
		///	System.IO.MemoryStream memoryStream = Transform(new System.Xml.XmlTextReader("transform.xslt"));
		///	// transform to html output file
		///	Transform(new System.Xml.XmlTextReader("transform.xslt"), "myChannel.htm");
		///	// transform to html and xml output file
		///	Transform(new System.Xml.XmlTextReader("transform.xslt"), "channel.xml", "channel.htm");
		///	</code>
		/// </example>
		void Transform (System.Xml.XmlReader styleSheet, string fileNameHtmlOutput);
		/// <summary>
		/// Transforms the XML data using XSLT stylesheet to an output file (xml, html)		
		/// </summary>
		/// <param name="styleSheet">An XmlReader object that contains the XSLT stylesheet.</param>
		/// <param name="fileNameXmlOutput">Filename of the xml output file.</param>
		/// <param name="fileNameHtmlOutput">Filename of the html output file.</param>
		void Transform (System.Xml.XmlReader styleSheet, string fileNameXmlOutput, string fileNameHtmlOutput);
		/// <summary>
		/// Transforms the XML stream using XSLT stylesheet.
		/// </summary>
		/// <param name="styleSheet">An XmlReader object that contains the XSLT stylesheet.</param>
		/// <param name="xmlStream">The data to transform</param>
		/// <returns>An MemoryStream containing the results of the transform.</returns>	
		System.IO.MemoryStream Transform (System.Xml.XmlReader styleSheet, System.IO.Stream xmlStream);
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The GNU Lesser General Public License (LGPLv3)


Written By
Software Developer (Senior)
Switzerland Switzerland
My interest is in the future because I am going to spend the rest of my life there. (Charles Kettering)

Biography

  • 1996 - 1998 PC Board PPL, HTML, DHTML, Javascript and ASP
  • 1999 - 2001 coding Centura against Sql Database (SqlBase,MSSQL,Oracle)
  • 2002 - 2004 C# Windows Forms
  • 2005 - 2006 C# ASP.NET, Windows Forms
  • 2006 - 2009 C#, WCF, WF, WPF
  • 2010 - 2012 C#, Dynamics CRM, Sharepoint, Silverlight
  • 2013 - 2013 C#, WCF DS (OData), WF, WPF
  • 2014 - 2016 C#, Azure PaaS, Identity, OWIN, OData, Web Api
  • 2017 - now C#, aspnet.core, IdentityServer4, TypeScript & Angular @ Azure IaaS or PaaS

Interests

  • family & friends
  • chilaxing ,)
  • coding

Comments and Discussions