SyndicationFeed Classe

Definição

Representa um objeto de alimentação de topo, <feed> no Atom 1.0 e <rss> no RSS 2.0.

public ref class SyndicationFeed
public class SyndicationFeed
type SyndicationFeed = class
Public Class SyndicationFeed
Herança
SyndicationFeed

Exemplos

O código seguinte mostra como criar uma SyndicationFeed instância e serializá-la tanto para o Atom 1.0 como para o 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();
Dim feed As SyndicationFeed = New SyndicationFeed("Feed Title", "Feed Description", New Uri("http:'Feed/Alternate/Link"), "FeedID", DateTime.Now)
' Add a custom attribute.
Dim xqName As XmlQualifiedName = New XmlQualifiedName("CustomAttribute")
feed.AttributeExtensions.Add(xqName, "Value")

Dim sp As SyndicationPerson = New SyndicationPerson("jesper@contoso.com", "Jesper Aaberg", "http:'jesper/aaberg")
feed.Authors.Add(sp)

Dim category As SyndicationCategory = 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.
Dim doc As XmlDocument = New XmlDocument()
Dim feedElement As XmlElement = 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")

Dim textContent As TextSyndicationContent = New TextSyndicationContent("Some text content")
Dim item As SyndicationItem = New SyndicationItem("Item Title", textContent, New Uri("http:'server/items"), "ItemID", DateTime.Now)

Dim items As Collection(Of SyndicationItem) = New Collection(Of SyndicationItem)()
items.Add(item)
feed.Items = items

feed.Language = "en-us"
feed.LastUpdatedTime = DateTime.Now

Dim link As SyndicationLink = New SyndicationLink(New Uri("http:'server/link"), "alternate", "Link Title", "text/html", 1000)
feed.Links.Add(link)

Dim atomWriter As XmlWriter = XmlWriter.Create("atom.xml")
Dim atomFormatter As Atom10FeedFormatter = New Atom10FeedFormatter(feed)
atomFormatter.WriteTo(atomWriter)
atomWriter.Close()

Dim rssWriter As XmlWriter = XmlWriter.Create("rss.xml")
Dim rssFormatter As Rss20FeedFormatter = New Rss20FeedFormatter(feed)
rssFormatter.WriteTo(rssWriter)
rssWriter.Close()

O XML seguinte mostra como a SyndicationFeed é serializado para 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>

O XML seguinte mostra como uma SyndicationFeed instância é serializada para 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>

Observações

Quando serializada para Atom 1.0, uma SyndicationFeed instância é escrita num <feed> elemento. A tabela seguinte mostra como cada propriedade definida na SyndicationFeed classe é serializada para Atom 1.0.

Propriedade SyndicationFeed Forma serializada
AttributeExtensions Um atributo no <feed> elemento para cada atributo na coleção.
Authors Um <author> elemento para cada SyndicationPerson um da coleção.
Categories Um <category> elemento para cada SyndicationCategory um da coleção.
Contributors Um <contributor> elemento para cada SyndicationPerson um da coleção.
Copyright Um <rights> elemento.
Description Um <subtitle> elemento.
ElementExtensions Cada elemento da coleção está escrito dentro do <feed> elemento.
Generator Um <generator> elemento.
Id Um <id> elemento.
ImageUri Um <logo> elemento.
Items Um <entry> elemento para cada SyndicationItem um da coleção.
Language Não serializada.
LastUpdatedTime Um <updated> elemento.
Links Um <link> elemento para cada SyndicationLink um da coleção.
Title Um <title> elemento.

Quando serializada para RSS 2.0, uma SyndicationFeed instância é escrita num <rss> elemento. A tabela seguinte mostra como cada propriedade definida na SyndicationFeed classe é serializada para RSS 2.0.

Propriedade SyndicationFeed Forma serializada
AttributeExtensions Um atributo no <channel> elemento para cada atributo na coleção.
Authors Um <managingEditor> elemento se apenas um SyndicationPerson estiver na coleção; caso contrário, um <a10:author> elemento para cada SyndicationPerson elemento na coleção.
Categories Um <category> elemento para cada SyndicationCategory um da coleção.
Contributors Um <a10:contributor> elemento para cada SyndicationPerson um da coleção.
Copyright Um <copyright> elemento.
Description Um <description> elemento.
ElementExtensions Cada elemento da coleção está escrito dentro do <channel> elemento.
Generator Um <generator> elemento.
Id Um <a10:id> elemento.
ImageUri Um <image> elemento.
Items Um <item> elemento para cada SyndicationItem um da coleção.
Language Um <language> elemento.
LastUpdatedTime Um <lastBuildDate> elemento.
Links Um <a10:link> elemento para cada SyndicationLink um da coleção.
Title Um <title> elemento.

Construtores

Name Description
SyndicationFeed()

Inicializa uma nova instância da SyndicationFeed classe.

SyndicationFeed(IEnumerable<SyndicationItem>)

Inicializa uma nova instância da SyndicationFeed classe com a coleção especificada de SyndicationItem objetos.

SyndicationFeed(String, String, Uri, IEnumerable<SyndicationItem>)

Inicializa uma nova instância da SyndicationFeed classe com o título, descrição, URI e coleção de SyndicationItem objetos especificados.

SyndicationFeed(String, String, Uri, String, DateTimeOffset, IEnumerable<SyndicationItem>)

Cria uma nova instância da SyndicationFeed classe.

SyndicationFeed(String, String, Uri, String, DateTimeOffset)

Cria uma nova instância da SyndicationFeed classe.

SyndicationFeed(String, String, Uri)

Inicializa uma nova instância da SyndicationFeed classe com o título, descrição e Identificador Uniforme de Recursos (URI) especificados.

SyndicationFeed(SyndicationFeed, Boolean)

Cria uma nova instância da SyndicationFeed classe com o feed especificado.

Propriedades

Name Description
AttributeExtensions

Recebe uma coleção de extensões de atributos.

Authors

Obtém uma coleção de autores do feed.

BaseUri

Obtém ou define o URI base da SyndicationFeed instância.

Categories

Recebe uma coleção de categorias para o feed.

Contributors

Recebe uma coleção dos contribuintes para o feed.

Copyright

Obtém ou define a informação de direitos de autor do feed.

Description

Recebe ou define uma descrição do feed.

Documentation

Obtém ou define o link para a documentação do feed.

ElementExtensions

Obtém as extensões de elementos para o alimentador.

Generator

Recebe ou define o gerador do alimentador.

Id

Obtém ou define o ID do feed.

ImageUrl

Obtém ou define a URL da imagem para o feed.

Items

Recebe uma coleção dos itens da ração contidos na ração.

Language

Obtém ou define a linguagem do feed.

LastUpdatedTime

Recebe ou define a hora em que o feed foi atualizado pela última vez.

Links

Obtém os links associados ao feed.

SkipDays

Recebe uma coleção de cadeias que indicam o conjunto de valores no elemento 'skipDays' para o feed.

SkipHours

Obtém uma coleção de inteiros que indicam o conjunto de valores no elemento 'skipHours' para o feed.

TextInput

Recebe ou define a propriedade TextInput para o feed.

TimeToLive

Recebe ou define o atributo 'ttl' para o feed.

Title

Recebe ou define o título do feed.

Métodos

Name Description
Clone(Boolean)

Cria uma cópia da SyndicationFeed instância.

CreateCategory()

Cria uma nova SyndicationCategory instância.

CreateItem()

Cria uma nova SyndicationItem instância.

CreateLink()

Cria uma nova SyndicationLink instância.

CreatePerson()

Cria uma nova SyndicationPerson instância.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAtom10Formatter()

Recebe uma Atom10FeedFormatter instância.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetRss20Formatter()

Recebe uma Rss20FeedFormatter instância.

GetRss20Formatter(Boolean)

Recebe uma nova Rss20FeedFormatter instância.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Load(XmlReader)

Carrega um feed de sindicância a partir do leitor XML especificado.

Load<TSyndicationFeed>(XmlReader)

Carrega uma SyndicationFeedinstância derivada em a partir do especificado XmlReader.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SaveAsAtom10(XmlWriter)

Escreva o feed de sindicância no formato especificado XmlWriter no Atom 1.0.

SaveAsRss20(XmlWriter)

Escreva o feed de sindicância no formato especificado XmlWriter em RSS 2.0.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
TryParseAttribute(String, String, String, String)

Tentativas de analisar uma extensão de atributo.

TryParseElement(XmlReader, String)

Tenta analisar uma extensão de elemento.

WriteAttributeExtensions(XmlWriter, String)

Escreve as extensões de atributos para o especificado XmlWriter usando a versão de sindicação especificada.

WriteElementExtensions(XmlWriter, String)

Escreve as extensões de elementos para o especificado XmlWriter usando a versão de sindicação especificada.

Aplica-se a