Compartir a través de


SyndicationFeed Clase

Definición

Representa un objeto de fuente de nivel superior, <feed> en Atom 1.0 y <rss> en RSS 2.0.

public ref class SyndicationFeed
public class SyndicationFeed
type SyndicationFeed = class
Public Class SyndicationFeed
Herencia
SyndicationFeed

Ejemplos

El siguiente código muestra cómo crear una instancia SyndicationFeed y serializarla a Atom 1.0 y 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()

El siguiente XML muestra cómo se serializa una SyndicationFeed a 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>

El siguiente XML muestra cómo se serializa una instancia de SyndicationFeed a RSS 2.0.

<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel CustomAttribute="Value">
    <title>Título de fuente</title>
    <link>http://feed/Alternate/Link</link>
    <description>Se trata de una fuente de ejemplo</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>Título de fuente</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>Título del elemento</title>
      <description>Contenido de texto</description>
      <a10:updated>2007-04-13T17:29:38Z</a10:updated>
    </item>
  </channel>
</rss>

Comentarios

Cuando se serializa en Atom 1.0, se escribe una SyndicationFeed instancia en un <feed> elemento . La siguiente tabla muestra cómo cada propiedad definida en la clase SyndicationFeed se serializa a Atom 1.0.

Propiedad SyndicationFeed Forma serializada
AttributeExtensions Atributo del <feed> elemento para cada atributo de la colección.
Authors Elemento <author> para cada uno SyndicationPerson de la colección.
Categories Elemento <category> para cada SyndicationCategory uno de la colección.
Contributors Elemento <contributor> para cada SyndicationPerson uno de la colección.
Copyright Un elemento <rights>.
Description Un elemento <subtitle>.
ElementExtensions Cada elemento de la colección se escribe dentro del <feed> elemento .
Generator Un elemento <generator>.
Id Elemento <id>.
ImageUri Un elemento <logo>.
Items Elemento <entry> para cada uno SyndicationItem de la colección.
Language No serializado.
LastUpdatedTime Elemento <updated>.
Links Elemento <link> para cada SyndicationLink uno de la colección.
Title Un elemento <title>.

Cuando se serializa a RSS 2.0, una instancia de SyndicationFeed se escribe en un elemento <rss>. La siguiente tabla muestra cómo cada propiedad definida en la clase SyndicationFeed se serializa a RSS 2.0.

Propiedad SyndicationFeed Forma serializada
AttributeExtensions Atributo del <channel> elemento para cada atributo de la colección.
Authors Elemento <managingEditor> si solo hay uno SyndicationPerson en la colección; de lo contrario, un <a10:author> elemento para cada SyndicationPerson uno de la colección.
Categories Elemento <category> para cada SyndicationCategory uno de la colección.
Contributors Elemento <a10:contributor> para cada uno SyndicationPerson de la colección.
Copyright Un elemento <copyright>.
Description Un elemento <description>.
ElementExtensions Cada elemento de la colección se escribe dentro del <channel> elemento .
Generator Un elemento <generator>.
Id Elemento <a10:id>.
ImageUri Elemento <image>.
Items Elemento <item> para cada uno SyndicationItem de la colección.
Language Un elemento <language>.
LastUpdatedTime Un elemento <lastBuildDate>.
Links Elemento <a10:link> para cada uno SyndicationLink de la colección.
Title Un elemento <title>.

Constructores

SyndicationFeed()

Inicializa una nueva instancia de la clase SyndicationFeed.

SyndicationFeed(IEnumerable<SyndicationItem>)

Inicializa una nueva instancia de la clase SyndicationFeed con la colección de objetos SyndicationItem especificada.

SyndicationFeed(String, String, Uri)

Inicializa una nueva instancia de la clase SyndicationFeed con el título, descripción e identificador uniforme de recursos (URI) especificados.

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

Inicializa una nueva instancia de la clase SyndicationFeed con el título, descripción, URI y colección de objetos SyndicationItem especificados.

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

Crea una nueva instancia de la clase SyndicationFeed.

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

Crea una nueva instancia de la clase SyndicationFeed.

SyndicationFeed(SyndicationFeed, Boolean)

Crea una nueva instancia de la clase SyndicationFeed con la fuente especificada.

Propiedades

AttributeExtensions

Obtiene una colección de extensiones de atributo.

Authors

Obtiene una colección de autores de la fuente.

BaseUri

Obtiene o establece el URI base para la instancia de SyndicationFeed.

Categories

Obtiene una colección de categorías para la fuente.

Contributors

Obtiene una colección de los colaboradores a la fuente.

Copyright

Obtiene o establece información de copyright para la fuente.

Description

Obtiene o establece una descripción de la fuente.

Documentation

Obtiene o establece el vínculo a la documentación de la fuente.

ElementExtensions

Obtiene las extensiones de elemento para la fuente.

Generator

Obtiene o establece el generador de una fuente.

Id

Obtiene o establece el identificador de la fuente.

ImageUrl

Obtiene o establece la URL de la imagen para la fuente.

Items

Obtiene una colección de elementos de fuente contenidos en la fuente.

Language

Obtiene o establece el lenguaje de la fuente.

LastUpdatedTime

Obtiene o establece la hora en que se ha actualizado la fuente por última vez.

Links

Obtiene los vínculos asociados a la fuente.

SkipDays

Obtiene una colección de cadenas que indican el conjunto de valores del elemento "skipDays" para la fuente.

SkipHours

Obtiene una colección de enteros que indican el conjunto de valores del elemento "skipHours" para la fuente.

TextInput

Obtiene o establece la propiedad TextInput para la fuente.

TimeToLive

Obtiene o establece el atributo "ttl" para la fuente.

Title

Obtiene o establece el título de la fuente.

Métodos

Clone(Boolean)

Crea una copia de la instancia de la clase SyndicationFeed.

CreateCategory()

Crea una nueva instancia de SyndicationCategory.

CreateItem()

Crea una nueva instancia de SyndicationItem.

CreateLink()

Crea una nueva instancia de SyndicationLink.

CreatePerson()

Crea una nueva instancia de SyndicationPerson.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetAtom10Formatter()

Obtiene una instancia de Atom10FeedFormatter.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetRss20Formatter()

Obtiene una instancia de Rss20FeedFormatter.

GetRss20Formatter(Boolean)

Obtiene una nueva instancia de Rss20FeedFormatter.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Load(XmlReader)

Carga una fuente de distribución desde el lector XML especificado.

Load<TSyndicationFeed>(XmlReader)

Carga una instancia derivada de SyndicationFeed desde el XmlReader especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
SaveAsAtom10(XmlWriter)

Escriba la fuente de distribución en el XmlWriter especificado en formato Atom 1.0.

SaveAsRss20(XmlWriter)

Escriba la fuente de distribución en el XmlWriter especificado en formato RSS 2.0.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TryParseAttribute(String, String, String, String)

Intenta analizar una extensión de atributo.

TryParseElement(XmlReader, String)

Intenta analizar una extensión de elemento.

WriteAttributeExtensions(XmlWriter, String)

Escribe las extensiones de atributo en el XmlWriter especificado utilizando la versión de distribución especificada.

WriteElementExtensions(XmlWriter, String)

Escribe las extensiones de elemento en el XmlWriter especificado utilizando la versión de distribución especificada.

Se aplica a