SyndicationFeed Class
Represents a top-level feed object, <feed> in Atom 1.0 and <rss> in RSS 2.0.
Namespace: System.ServiceModel.Syndication
Assembly: System.ServiceModel (in System.ServiceModel.dll)
The SyndicationFeed type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | SyndicationFeed() | Initializes a new instance of the SyndicationFeed class. |
![]() | SyndicationFeed(IEnumerable<SyndicationItem>) | Initializes a new instance of the SyndicationFeed class with the specified collection of SyndicationItem objects. |
![]() | SyndicationFeed(SyndicationFeed, Boolean) | Creates a new instance of the SyndicationFeed class with the specified feed. |
![]() | SyndicationFeed(String, String, Uri) | Initializes a new instance of the SyndicationFeed class with the specified title, description, and Uniform Resource Identifier (URI). |
![]() | SyndicationFeed(String, String, Uri, IEnumerable<SyndicationItem>) | Initializes a new instance of the SyndicationFeed class with the specified title, description, URI, and collection of SyndicationItem objects. |
![]() | SyndicationFeed(String, String, Uri, String, DateTimeOffset) | Creates a new instance of the SyndicationFeed class. |
![]() | SyndicationFeed(String, String, Uri, String, DateTimeOffset, IEnumerable<SyndicationItem>) | Creates a new instance of the SyndicationFeed class. |
| Name | Description | |
|---|---|---|
![]() | AttributeExtensions | Gets a collection of attribute extensions. |
![]() | Authors | Gets a collection of authors of the feed. |
![]() | BaseUri | Gets and sets the base URI for the SyndicationFeed instance. |
![]() | Categories | Gets a collection of categories for the feed. |
![]() | Contributors | Gets a collection of the contributors to the feed. |
![]() | Copyright | Gets and sets copyright information for the feed. |
![]() | Description | Gets and sets a description of the feed. |
![]() | ElementExtensions | Gets the element extensions for the feed. |
![]() | Generator | Gets and sets the generator of the feed. |
![]() | Id | Gets and sets the ID of the feed. |
![]() | ImageUrl | Gets and sets the image URL for the feed. |
![]() | Items | Gets a collection of the feed items contained in the feed. |
![]() | Language | Gets and sets the language of the feed. |
![]() | LastUpdatedTime | Gets and sets the time the feed was last updated. |
![]() | Links | Gets the links associated with the feed. |
![]() | Title | Gets and sets the title of the feed. |
| Name | Description | |
|---|---|---|
![]() | Clone | Creates a copy of the SyndicationFeed instance. |
![]() | CreateCategory | Creates a new SyndicationCategory instance. |
![]() | CreateItem | Creates a new SyndicationItem instance. |
![]() | CreateLink | Creates a new SyndicationLink instance. |
![]() | CreatePerson | Creates a new SyndicationPerson instance. |
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetAtom10Formatter | Gets an Atom10FeedFormatter instance. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetRss20Formatter() | Gets an Rss20FeedFormatter instance. |
![]() | GetRss20Formatter(Boolean) | Gets a new Rss20FeedFormatter instance. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() ![]() | Load(XmlReader) | Loads a syndication feed from the specified XML reader. |
![]() ![]() | Load<TSyndicationFeed>(XmlReader) | Loads a SyndicationFeed-derived instance from the specified XmlReader. |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | SaveAsAtom10 | Write the syndication feed to the specified XmlWriter in Atom 1.0 format. |
![]() | SaveAsRss20 | Write the syndication feed to the specified XmlWriter in RSS 2.0 format. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | TryParseAttribute | Attempts to parse an attribute extension. |
![]() | TryParseElement | Attempts to parse an element extension. |
![]() | WriteAttributeExtensions | Writes the attribute extensions to the specified XmlWriter using the specified syndication version. |
![]() | WriteElementExtensions | Writes the element extensions to the specified XmlWriter using the specified syndication version. |
When serialized to Atom 1.0, a SyndicationFeed instance is written to a <feed> element. The following table shows how each property defined in the SyndicationFeed class is serialized to Atom 1.0.
SyndicationFeed property | Serialized form |
|---|---|
AttributeExtensions | An attribute in the <feed> element for each attribute in the collection. |
Authors | An <author> element for each SyndicationPerson in the collection. |
Categories | A <category> element for each SyndicationCategory in the collection. |
Contributors | A <contributor> element for each SyndicationPerson in the collection. |
Copyright | A <rights> element. |
Description | A <subtitle> element. |
ElementExtensions | Each element in the collection is written within the <feed> element. |
Generator | A <generator> element. |
Id | An <id> element. |
ImageUri | A <logo> element. |
Items | An <entry> element for each SyndicationItem in the collection. |
Language | Not serialized. |
LastUpdatedTime | An <updated> element. |
Links | A <link> element for each SyndicationLink in the collection. |
Title | A <title> element. |
When serialized to RSS 2.0, a SyndicationFeed instance is written to an <rss> element. The following table shows how each property defined in the SyndicationFeed class is serialized to RSS 2.0.
SyndicationFeed property | Serialized form |
|---|---|
AttributeExtensions | An attribute in the <channel> element for each attribute in the collection. |
Authors | A <managingEditor> element if only one SyndicationPerson is in the collection; otherwise, an <a10:author> element for each SyndicationPerson in the collection. |
Categories | A <category> element for each SyndicationCategory in the collection. |
Contributors | An <a10:contributor> element for each SyndicationPerson in the collection. |
Copyright | A <copyright> element. |
Description | A <description> element. |
ElementExtensions | Each element in the collection is written within the <channel> element. |
Generator | A <generator> element. |
Id | An <a10:id> element. |
ImageUri | An <image> element. |
Items | An <item> element for each SyndicationItem in the collection. |
Language | A <language> element. |
LastUpdatedTime | A <lastBuildDate> element. |
Links | An <a10:link> element for each SyndicationLink in the collection. |
Title | A <title> element. |
The following code shows how to create a SyndicationFeed instance and serialize it to both Atom 1.0 and RSS 2.0.
SyndicationFeed feed = new SyndicationFeed("Feed Title", "Feed Description", new Uri("http://Feed/Alternate/Link"), "FeedID", DateTime.Now);
// Add a custom attribute.
XmlQualifiedName xqName = new XmlQualifiedName("CustomAttribute");
feed.AttributeExtensions.Add(xqName, "Value");
SyndicationPerson sp = new SyndicationPerson("jesper@contoso.com", "Jesper Aaberg", "http://Jesper/Aaberg");
feed.Authors.Add(sp);
SyndicationCategory category = new SyndicationCategory("FeedCategory", "CategoryScheme", "CategoryLabel");
feed.Categories.Add(category);
feed.Contributors.Add(new SyndicationPerson("lene@contoso.com", "Lene Aaling", "http://lene/aaling"));
feed.Copyright = new TextSyndicationContent("Copyright 2007");
feed.Description = new TextSyndicationContent("This is a sample feed");
// Add a custom element.
XmlDocument doc = new XmlDocument();
XmlElement feedElement = doc.CreateElement("CustomElement");
feedElement.InnerText = "Some text";
feed.ElementExtensions.Add(feedElement);
feed.Generator = "Sample Code";
feed.Id = "FeedID";
feed.ImageUrl = new Uri("http://server/image.jpg");
TextSyndicationContent textContent = new TextSyndicationContent("Some text content");
SyndicationItem item = new SyndicationItem("Item Title", textContent, new Uri("http://server/items"), "ItemID", DateTime.Now);
List<SyndicationItem> items = new List<SyndicationItem>();
items.Add(item);
feed.Items = items;
feed.Language = "en-us";
feed.LastUpdatedTime = DateTime.Now;
SyndicationLink link = new SyndicationLink(new Uri("http://server/link"), "alternate", "Link Title", "text/html", 1000);
feed.Links.Add(link);
XmlWriter atomWriter = XmlWriter.Create("atom.xml");
Atom10FeedFormatter atomFormatter = new Atom10FeedFormatter(feed);
atomFormatter.WriteTo(atomWriter);
atomWriter.Close();
XmlWriter rssWriter = XmlWriter.Create("rss.xml");
Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(feed);
rssFormatter.WriteTo(rssWriter);
rssWriter.Close();
The following XML shows how a SyndicationFeed is serialized to Atom 1.0.
<feed xml:lang="en-us" CustomAttribute="Value" xmlns="http://www.w3.org/2005/Atom">
<title type="text">Feed Title</title>
<subtitle type="text">This is a sample feed</subtitle>
<id>FeedID</id>
<rights type="text">Copyright 2007</rights>
<updated>2007-04-13T17:29:38Z</updated>
<category term="FeedCategory" label="CategoryLabel" scheme="CategoryScheme" />
<logo>http://contoso/image.jpg</logo>
<author>
<name>Jesper Aaberg</name>
<uri>http://contoso/Aaberg</uri>
<email>Jesper.Asberg@contoso.com</email>
</author>
<contributor>
<name>Lene Aalling</name>
<uri>http://contoso/Aalling</uri>
<email>Lene.Aaling@contoso.com</email>
</contributor>
<generator>Sample Code</generator>
<link rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<link customAttribute="value" rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<CustomElement xmlns="">Some text</CustomElement>
<entry>
<id>ItemID</id>
<title type="text">Item Title</title>
<updated>2007-04-13T17:29:38Z</updated>
<link rel="alternate" href="http://contoso/items" />
<content type="text">Some text content</content>
</entry>
</feed>
The following XML shows how a SyndicationFeed instance is serialized to RSS 2.0.
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
<channel CustomAttribute="Value">
<title>Feed Title</title>
<link>http://feed/Alternate/Link</link>
<description>This is a sample feed</description>
<language>en-us</language>
<copyright>Copyright 2007</copyright>
<managingEditor>Jesper.Aaberg@contoso.com</managingEditor>
<lastBuildDate>Fri, 13 Apr 2007 17:29:38 Z</lastBuildDate>
<category domain="CategoryScheme">FeedCategory</category>
<a10:link rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<generator>Sample Code</generator>
<a10:contributor>
<a10:name>Lene Aalling</a10:name>
<a10:uri>http://contoso/Aalling</a10:uri>
<a10:email>Lene.Aalling@contoso.com</a10:email>
</a10:contributor>
<a10:author>
<a10:name>Lene Aalling</a10:name>
<a10:uri>http://contoso/Aalling</a10:uri>
<a10:email>Lene.Aalling@contoso.com</a10:email>
</a10:author>
<image>
<url>http://contoso/image.jpg</url>
<title>Feed Title</title>
<link>http://feed/Alternate/Link</link>
</image>
<a10:id>FeedID</a10:id>
<a10:link customAttribute="value" rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<CustomElement>Some text</CustomElement>
<item>
<guid isPermaLink="false">ItemID</guid>
<link>http://contoso/items</link>
<title>Item Title</title>
<description>Some text content</description>
<a10:updated>2007-04-13T17:29:38Z</a10:updated>
</item>
</channel>
</rss>
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
