SyndicationFeed Classe

Definição

Representa um objeto de feed de nível superior, <feed> no Atom 1.0 e <rss> no RSS 2.0.

public ref class SyndicationFeed
[System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)]
public class SyndicationFeed
public class SyndicationFeed
[<System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembers(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor)>]
type SyndicationFeed = class
type SyndicationFeed = class
Public Class SyndicationFeed
Herança
SyndicationFeed
Atributos

Exemplos

O código a seguir mostra como criar uma SyndicationFeed instância e serializá-la para o Atom 1.0 e 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 a seguir mostra como um SyndicationFeed é serializado para o 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 a seguir mostra como uma SyndicationFeed instância é serializada para o 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>

Comentários

Quando serializada para o Atom 1.0, uma SyndicationFeed instância é gravada em um <feed> elemento. A tabela a seguir mostra como cada propriedade definida na SyndicationFeed classe é serializada para Atom 1.0.

Propriedade SyndicationFeed Formulário serializado
AttributeExtensions Um atributo no <feed> elemento para cada atributo na coleção.
Authors Um <author> elemento para cada SyndicationPerson um na coleção.
Categories Um <category> elemento para cada SyndicationCategory um na coleção.
Contributors Um <contributor> elemento para cada SyndicationPerson um na coleção.
Copyright Um <rights> elemento.
Description Um <subtitle> elemento.
ElementExtensions Cada elemento na coleção é 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 na coleção.
Language Não serializado.
LastUpdatedTime Um <updated> elemento.
Links Um <link> elemento para cada SyndicationLink um na coleção.
Title Um <title> elemento.

Quando serializada para o RSS 2.0, uma SyndicationFeed instância é gravada em um <rss> elemento. A tabela a seguir mostra como cada propriedade definida na SyndicationFeed classe é serializada para RSS 2.0.

Propriedade SyndicationFeed Formulário serializado
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 elemento para cada <a10:author> um SyndicationPerson na coleção.
Categories Um <category> elemento para cada SyndicationCategory um na coleção.
Contributors Um <a10:contributor> elemento para cada SyndicationPerson um na coleção.
Copyright Um <copyright> elemento.
Description Um <description> elemento.
ElementExtensions Cada elemento na coleção é 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 na coleção.
Language Um <language> elemento.
LastUpdatedTime Um <lastBuildDate> elemento.
Links Um <a10:link> elemento para cada SyndicationLink um na coleção.
Title Um <title> elemento.

Construtores

Nome Description
SyndicationFeed()

Inicializa uma nova instância da classe SyndicationFeed.

SyndicationFeed(IEnumerable<SyndicationItem>)

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

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

Inicializa uma nova instância da SyndicationFeed classe com o título, a descrição, o URI e a 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, a descrição e o URI (Uniform Resource Identifier) especificados.

SyndicationFeed(SyndicationFeed, Boolean)

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

Propriedades

Nome Description
AttributeExtensions

Obtém uma coleção de extensões de atributo.

Authors

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

BaseUri

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

Categories

Obtém uma coleção de categorias para o feed.

Contributors

Obtém uma coleção de colaboradores para o feed.

Copyright

Obtém ou define informações de direitos autorais para o feed.

Description

Obtém 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 elemento para o feed.

Generator

Obtém ou define o gerador do feed.

Id

Obtém ou define a ID do feed.

ImageUrl

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

Items

Obtém uma coleção dos itens de feed contidos no feed.

Language

Obtém ou define o idioma do feed.

LastUpdatedTime

Obtém ou define a hora em que o feed foi atualizado pela última vez.

Links

Obtém os links associados ao feed.

SkipDays

Obtém uma coleção de cadeias de caracteres que indica o conjunto de valores no elemento 'skipDays' para o feed.

SkipHours

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

TextInput

Obtém ou define a propriedade TextInput para o feed.

TimeToLive

Obtém ou define o atributo 'ttl' para o feed.

Title

Obtém ou define o título do feed.

Métodos

Nome Description
Clone(Boolean)

Cria uma cópia da SyndicationFeed instância.

CreateCategory()

Cria uma nova instância SyndicationCategory.

CreateItem()

Cria uma nova instância SyndicationItem.

CreateLink()

Cria uma nova instância SyndicationLink.

CreatePerson()

Cria uma nova instância SyndicationPerson.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetAtom10Formatter()

Obtém uma Atom10FeedFormatter instância.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetRss20Formatter()

Obtém uma Rss20FeedFormatter instância.

GetRss20Formatter(Boolean)

Obtém uma nova Rss20FeedFormatter instância.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Load(XmlReader)

Carrega um feed de sindicalização do leitor XML especificado.

Load<TSyndicationFeed>(XmlReader)

Carrega uma SyndicationFeedinstância derivada do especificado XmlReader.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
SaveAsAtom10(XmlWriter)

Escreva o feed de sindicalização no formato Atom 1.0 especificado XmlWriter .

SaveAsRss20(XmlWriter)

Escreva o feed de sindicalização no formato RSS 2.0 especificado XmlWriter .

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

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

Tenta analisar uma extensão de atributo.

TryParseElement(XmlReader, String)

Tenta analisar uma extensão de elemento.

WriteAttributeExtensions(XmlWriter, String)

Grava as extensões de atributo no especificado XmlWriter usando a versão de sindicalização especificada.

WriteElementExtensions(XmlWriter, String)

Grava as extensões de elemento no especificado XmlWriter usando a versão de sindicalização especificada.

Aplica-se a