/// <summary> /// Creates a new <see cref="GenericSyndicationFeed"/> instance using the specified <see cref="Uri"/>, <see cref="ICredentials"/>, <see cref="IWebProxy"/>, and <see cref="SyndicationResourceLoadSettings"/> object. /// </summary> /// <param name="source">A <see cref="Uri"/> that represents the URL of the syndication resource XML data.</param> /// <param name="options">A <see cref="WebRequestOptions"/> that holds options that should be applied to web requests.</param> /// <param name="settings">The <see cref="SyndicationResourceLoadSettings"/> object used to configure the <see cref="GenericSyndicationFeed"/> instance. This value can be <b>null</b>.</param> /// <returns>An <see cref="GenericSyndicationFeed"/> object loaded using the <paramref name="source"/> data.</returns> /// <exception cref="ArgumentNullException">The <paramref name="source"/> is a null reference (Nothing in Visual Basic).</exception> /// <exception cref="FormatException">The <paramref name="source"/> data does not conform to the expected syndication content format. In this case, the feed remains empty.</exception> public static GenericSyndicationFeed Create(Uri source, WebRequestOptions options, SyndicationResourceLoadSettings settings) { //------------------------------------------------------------ // Local members //------------------------------------------------------------ GenericSyndicationFeed syndicationResource = new GenericSyndicationFeed(); //------------------------------------------------------------ // Validate parameters //------------------------------------------------------------ Guard.ArgumentNotNull(source, "source"); //------------------------------------------------------------ // Create new instance using supplied parameters //------------------------------------------------------------ syndicationResource.Load(source, options, settings); return syndicationResource; }
//============================================================ // INSTANCE METHODS //============================================================ /// <summary> /// Provides example code for the Load(Uri, ICredentials, IWebProxy) method /// </summary> public static void LoadUriExample() { #region Load(Uri source, ICredentials credentials, IWebProxy proxy) GenericSyndicationFeed feed = new GenericSyndicationFeed(); Uri source = new Uri("http://feeds.feedburner.com/OppositionallyDefiant"); feed.Load(source, CredentialCache.DefaultNetworkCredentials, null); foreach (GenericSyndicationItem item in feed.Items) { if (item.PublishedOn > DateTime.Now.Subtract(new TimeSpan(7, 0, 0, 0))) { // Process generic item's published in the last week } foreach (GenericSyndicationCategory category in item.Categories) { if (String.Compare(category.Term, "WCF", StringComparison.OrdinalIgnoreCase) == 0) { // Process item category } } } #endregion }