Compartir a través de


Asignación del modelo de objetos de distribución de WCF a Atom y RSS

Al desarrollar un servicio de distribución de Windows Communication Foundation (WCF), se crean fuentes y elementos mediante las siguientes clases:

Un objeto SyndicationFeed se puede serializar en cualquier formato de distribución para el que se defina un formateador. WCF se distribuye con dos formateadores: Atom10FeedFormatter y Rss20FeedFormatter.

El modelo de objetos alrededor de SyndicationFeed y SyndicationItem está alineado más estrechamente con la especificación Atom 1.0 que con la especificación RSS 2.0. Esto se debe a que Atom 1.0 es una especificación más sustancial que define elementos que son ambiguos o que se han omitido de la especificación RSS 2.0. Debido a esto, muchos elementos en el modelo de objetos de distribución de WCF no tienen ninguna representación directa en la especificación RSS 2.0. Al serializar los objetos SyndicationFeed y SyndicationItem en RSS 2.0, WCF le permite serializar elementos de datos específicos de Atom como elementos de extensión de espacios de nombres completos que cumplen la especificación Atom. Esto se puede controlar mediante un parámetro pasado al constructor Rss20FeedFormatter.

Los ejemplos de código de este tema usan uno de los dos métodos definidos aquí para realizar la serialización real.

SerializeFeed serializa una fuente de distribución.

Public Sub SerializeFeed(ByVal feed As SyndicationFeed)

    Dim atomFormatter As Atom10FeedFormatter = feed.GetAtom10Formatter()
    Dim rssFormatter As Rss20FeedFormatter = feed.GetRss20Formatter()

    Dim atomWriter As XmlWriter = XmlWriter.Create("atom.xml")
    Dim rssWriter As XmlWriter = XmlWriter.Create("rss.xml")
    atomFormatter.WriteTo(atomWriter)
    rssFormatter.WriteTo(rssWriter)
    atomWriter.Close()
    rssWriter.Close()
End Sub
public void SerializeFeed(SyndicationFeed feed)
{
    Atom10FeedFormatter atomFormatter = feed.GetAtom10Formatter();
    Rss20FeedFormatter rssFormatter = feed.GetRss20Formatter();

    XmlWriter atomWriter = XmlWriter.Create("atom.xml");
    XmlWriter rssWriter = XmlWriter.Create("rss.xml");
    atomFormatter.WriteTo(atomWriter);
    rssFormatter.WriteTo(rssWriter);
    atomWriter.Close();
    rssWriter.Close();
}

SerializeItem serializa un elemento de distribución.

Public Sub SerializeItem(ByVal item As SyndicationItem)
    Dim atomFormatter As Atom10ItemFormatter = item.GetAtom10Formatter()
    Dim rssFormatter As Rss20ItemFormatter = item.GetRss20Formatter()

    Dim atomWriter As XmlWriter = XmlWriter.Create("atom.xml")
    Dim rssWriter As XmlWriter = XmlWriter.Create("rss.xml")
    atomFormatter.WriteTo(atomWriter)
    rssFormatter.WriteTo(rssWriter)
    atomWriter.Close()
    rssWriter.Close()
End Sub
public void SerializeItem(SyndicationItem item)
{
    Atom10ItemFormatter atomFormatter = item.GetAtom10Formatter();
    Rss20ItemFormatter rssFormatter = item.GetRss20Formatter();

    XmlWriter atomWriter = XmlWriter.Create("atom.xml");
    XmlWriter rssWriter = XmlWriter.Create("rss.xml");
    atomFormatter.WriteTo(atomWriter);
    rssFormatter.WriteTo(rssWriter);
    atomWriter.Close();
    rssWriter.Close();
}

SyndicationFeed

El siguiente ejemplo de código muestra cómo serializar la clase SyndicationFeed a Atom 1.0 y RSS 2.0.

Dim feed As New SyndicationFeed("My Feed Title", "My Feed Description", New Uri("http://MyFeedURI"))
feed.Copyright = New TextSyndicationContent("Copyright 2007")
feed.Language = "EN-US"
feed.LastUpdatedTime = DateTime.Now
feed.Generator = "Sample Code"
feed.Id = "FeedID"
feed.ImageUrl = New Uri("https://server/image.jpg")

Dim category As New SyndicationCategory("MyCategory")
category.Label = "categoryLabel"
category.Name = "categoryName"
category.Scheme = "categoryScheme"
feed.Categories.Add(category)

Dim item As New SyndicationItem("Item Title", "Item Content", New Uri("http://MyItemURI"))
item.Authors.Add(New SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"))
item.Categories.Add(category)
item.Contributors.Add(New SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"))
item.Copyright = New TextSyndicationContent("Copyright 2007")
item.Id = "ItemID"
item.LastUpdatedTime = DateTime.Now
item.PublishDate = DateTime.Today
item.SourceFeed = feed
item.Summary = New TextSyndicationContent("Item Summary")
Dim items As New Collection(Of SyndicationItem)()
items.Add(item)
feed.Items = items

SerializeFeed(feed)
SyndicationFeed feed = new SyndicationFeed("My Feed Title", "My Feed Description", new Uri("http://MyFeedURI"));
feed.Copyright = new TextSyndicationContent("Copyright 2007");
feed.Language = "EN-US";
feed.LastUpdatedTime = DateTime.Now;
feed.Generator = "Sample Code";
feed.Id = "FeedID";
feed.ImageUrl = new Uri("https://server/image.jpg");

SyndicationCategory category = new SyndicationCategory("MyCategory");
category.Label = "categoryLabel";
category.Name = "categoryName";
category.Scheme = "categoryScheme";
feed.Categories.Add(category);

SyndicationItem item = new SyndicationItem("Item Title", "Item Content", new Uri("http://MyItemURI"));
item.Authors.Add(new SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"));
item.Categories.Add(category);
item.Contributors.Add(new SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"));
item.Copyright = new TextSyndicationContent("Copyright 2007");
item.Id = "ItemID";
item.LastUpdatedTime = DateTime.Now;
item.PublishDate = DateTime.Today;
item.SourceFeed = feed;
item.Summary = new TextSyndicationContent("Item Summary");

Collection<SyndicationItem> items = new Collection<SyndicationItem>();
items.Add(item);
feed.Items = items;

SerializeFeed(feed);

El siguiente XML muestra cómo se serializa la fuente SyndicationFeed en Atom 1.0.

<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="EN-US" xmlns="http://www.w3.org/2005/Atom">
  <title type="text">My Feed Title</title>
  <subtitle type="text">My Feed Description</subtitle>
  <id>FeedID</id>
  <rights type="text">Copyright 2007</rights>
  <updated>2007-08-29T13:57:17-07:00</updated>
  <category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
  <logo>https://server/image.jpg</logo>
  <generator>Sample Code</generator>
  <link rel="alternate" href="http://myfeeduri/" />
  <entry>
    <id>ItemID</id>
    <title type="text">Item Title</title>
    <summary type="text">Item Summary</summary>
    <published>2007-08-29T00:00:00-07:00</published>
    <updated>2007-08-29T13:57:17-07:00</updated>
    <author>
      <name>Jesper Aaberg</name>
      <uri>http://Jesper/Aaberg</uri>
      <email>Jesper@Aaberg.com</email>
    </author>
    <contributor>
      <name>Lene Aaling</name>
      <uri>http://Lene/Aaling</uri>
      <email>Lene@Aaling.com</email>
    </contributor>
    <link rel="alternate" href="http://myitemuri/" />
    <category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
    <content type="text">Item Content</content>
    <rights type="text">Copyright 2007</rights>
    <source>
      <title type="text">My Feed Title</title>
      <subtitle type="text">My Feed Description</subtitle>
      <id>FeedID</id>
      <rights type="text">Copyright 2007</rights>
      <updated>2007-08-29T13:57:17-07:00</updated>
      <category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
      <logo>https://server/image.jpg</logo>
      <generator>Sample Code</generator>
      <link rel="alternate" href="http://myfeeduri/" />
    </source>
  </entry>
</feed>

El siguiente XML muestra cómo la SyndicationFeed se serializa a RSS 2.0.

<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>My Feed Title</title>
    <link>http://myfeeduri/</link>
    <description>My Feed Description</description>
    <language>EN-US</language>
    <copyright>Copyright 2007</copyright>
    <lastBuildDate>Wed, 29 Aug 2007 13:57:17 -0700</lastBuildDate>
    <category domain="categoryScheme">categoryName</category>
    <generator>Sample Code</generator>
    <image>
      <url>https://server/image.jpg</url>
      <title>My Feed Title</title>
      <link>http://myfeeduri/</link>
    </image>
    <a10:id>FeedID</a10:id>
    <item>
      <guid isPermaLink="false">ItemID</guid>
      <link>http://myitemuri/</link>
      <author>Jesper@Aaberg.com</author>
      <category domain="categoryScheme">categoryName</category>
      <title>Item Title</title>
      <description>Item Summary</description>
      <source>My Feed Title</source>
      <pubDate>Wed, 29 Aug 2007 00:00:00 -0700</pubDate>
      <a10:updated>2007-08-29T13:57:17-07:00</a10:updated>
      <a10:rights type="text">Copyright 2007</a10:rights>
      <a10:content type="text">Item Content</a10:content>
      <a10:contributor>
        <a10:name>Lene Aaling</a10:name>
        <a10:uri>http://Lene/Aaling</a10:uri>
        <a10:email>Lene@Aaling.com</a10:email>
      </a10:contributor>
    </item>
  </channel>
</rss>

SyndicationItem

El siguiente código de ejemplo muestra cómo serializar la clase SyndicationItem a Atom 1.0 y RSS 2.0.

Dim item As New SyndicationItem("Item Title", "Item Content", New Uri("http://MyItemURI"))
item.Authors.Add(New SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"))
item.Authors.Add(New SyndicationPerson("Syed.Abbas@contoso.com", "Syed Abbas", "http://Contoso/Abbas"))

Dim category As New SyndicationCategory("MyCategory")
category.Label = "categoryLabel"
category.Name = "categoryName"
category.Scheme = "categoryScheme"

Dim category2 As New SyndicationCategory("MyCategoryTwo")
category2.Label = "categoryLabel"
category2.Name = "categoryName"
category2.Scheme = "categoryScheme"

item.Categories.Add(category)
item.Categories.Add(category2)
item.Contributors.Add(New SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"))
item.Contributors.Add(New SyndicationPerson("Kim.Abercrombie@contoso.com", "Kim Abercrombie", "http://Contoso/Abercrombie"))
item.Copyright = New TextSyndicationContent("Copyright 2007")
item.Id = "ItemID"
item.LastUpdatedTime = DateTime.Now
item.PublishDate = DateTime.Today
item.SourceFeed = feed
item.Summary = New TextSyndicationContent("Item Summary")
Dim items As New Collection(Of SyndicationItem)()
items.Add(item)
feed.Items = items

SerializeItem(item)
SyndicationItem item = new SyndicationItem("Item Title", "Item Content", new Uri("http://MyItemURI"));
item.Authors.Add(new SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"));
item.Authors.Add(new SyndicationPerson("Syed.Abbas@contoso.com", "Syed Abbas", "http://Contoso/Abbas"));

SyndicationCategory category = new SyndicationCategory("MyCategory");
category.Label = "categoryLabel";
category.Name = "categoryName";
category.Scheme = "categoryScheme";

SyndicationCategory category2 = new SyndicationCategory("MyCategoryTwo");
category2.Label = "categoryLabel";
category2.Name = "categoryName";
category2.Scheme = "categoryScheme";

item.Categories.Add(category);
item.Categories.Add(category2);
item.Contributors.Add(new SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"));
item.Contributors.Add(new SyndicationPerson("Kim.Abercrombie@contoso.com", "Kim Abercrombie", "http://Contoso/Abercrombie"));
item.Copyright = new TextSyndicationContent("Copyright 2007");
item.Id = "ItemID";
item.LastUpdatedTime = DateTime.Now;
item.PublishDate = DateTime.Today;
item.SourceFeed = feed;
item.Summary = new TextSyndicationContent("Item Summary");

Collection<SyndicationItem> items = new Collection<SyndicationItem>();
items.Add(item);
feed.Items = items;

SerializeItem(item);

El siguiente fragmento XML muestra cómo se serializa SyndicationItem a Atom 1.0.

<entry xmlns="http://www.w3.org/2005/Atom">
  <id>ItemID</id>
  <title type="text">Item Title</title>
  <summary type="text">Item Summary</summary>
  <published>2007-08-29T00:00:00-07:00</published>
  <updated>2007-08-29T14:07:09-07:00</updated>
  <author>
    <name>Jesper Aaberg</name>
    <uri>http://Contoso/Aaberg</uri>
    <email>Jesper.Aaberg@contoso.com</email>
  </author>
  <author>
    <name>Syed Abbas</name>
    <uri>http://Contoso/Abbas</uri>
    <email>Syed.Abbas@contoso.com</email>
  </author>
  <contributor>
    <name>Lene Aaling</name>
    <uri>http://Contoso/Aaling</uri>
    <email>Lene.Aaling@contoso.com</email>
  </contributor>
  <contributor>
    <name>Kim Abercrombie</name>
    <uri>http://Contoso/Abercrombie</uri>
    <email>Kim.Abercrombie@contoso.com</email>
  </contributor>
  <link rel="alternate" href="http://myitemuri/" />
  <category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
  <category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
  <content type="text">Item Content</content>
  <rights type="text">Copyright 2007</rights>
  <source>
    <title type="text">My Feed Title</title>
    <subtitle type="text">My Feed Description</subtitle>
    <link rel="alternate" href="http://myfeeduri/" />
  </source>
</entry>

El siguiente fragmento XML muestra cómo se serializa SyndicationItem a RSS 2.0.

<item>
  <guid isPermaLink="false">ItemID</guid>
  <link>http://myitemuri/</link>
  <author xmlns="http://www.w3.org/2005/Atom">
    <name>Jesper Aaberg</name>
    <uri>http://Jesper/Aaberg</uri>
    <email>Jesper@Aaberg.com</email>
  </author>
  <author xmlns="http://www.w3.org/2005/Atom">
    <name>Syed Abbas</name>
    <uri>http://Contoso/Abbas</uri>
    <email>Syed.Abbas@contoso.com</email>
  </author>
  <category domain="categoryScheme">categoryName</category>
  <category domain="categoryScheme">categoryName</category>
  <title>Item Title</title>
  <description>Item Summary</description>
  <source>My Feed Title</source>
  <pubDate>Wed, 29 Aug 2007 00:00:00 -0700</pubDate>
  <updated xmlns="http://www.w3.org/2005/Atom">2007-08-29T14:07:09-07:00</updated>
  <rights type="text" xmlns="http://www.w3.org/2005/Atom">Copyright 2007</rights>
  <content type="text" xmlns="http://www.w3.org/2005/Atom">Item Content</content>
  <contributor xmlns="http://www.w3.org/2005/Atom">
    <name>Lene Aaling</name>
    <uri>http://Contoso/Aaling</uri>
    <email>Lene.Aaling@contoso.com</email>
  </contributor>
  <contributor xmlns="http://www.w3.org/2005/Atom">
    <name>Kim Abercrombie</name>
    <uri>http://Contoso/Abercrombie</uri>
    <email>Kim.Abercrombie@contoso.com</email>
  </contributor>
</item>

SyndicationPerson

El siguiente código de ejemplo muestra cómo serializar la clase SyndicationPerson a Atom 1.0 y RSS 2.0.

Dim feed As New SyndicationFeed("My Feed Title", "My Feed Description", New Uri("http://MyFeedURI"))
feed.Authors.Add(New SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"))
feed.Authors.Add(New SyndicationPerson("Syed.Abbas@contoso.com", "Syed Abbas", "http://Contoso/Abbas"))

feed.Contributors.Add(New SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"))
feed.Contributors.Add(New SyndicationPerson("Kim.Abercrombie@contoso.com", "Kim Abercrombie", "http://Contoso/Abercrombie"))

SerializeFeed(feed)
SyndicationFeed feed = new SyndicationFeed("My Feed Title", "My Feed Description", new Uri("http://MyFeedURI"));
feed.Authors.Add(new SyndicationPerson("Jesper.Aaberg@contoso.com", "Jesper Aaberg", "http://Contoso/Aaberg"));
feed.Authors.Add(new SyndicationPerson("Syed.Abbas@contoso.com", "Syed Abbas", "http://Contoso/Abbas"));

feed.Contributors.Add(new SyndicationPerson("Lene.Aaling@contoso.com", "Lene Aaling", "http://Contoso/Aaling"));
feed.Contributors.Add(new SyndicationPerson("Kim.Abercrombie@contoso.com", "Kim Abercrombie", "http://Contoso/Abercrombie"));

SerializeFeed(feed);

El siguiente fragmento XML muestra cómo SyndicationPerson se serializa a Atom 1.0.

  <author>
    <name>Jesper Aaberg</name>
    <uri>http://Contoso/Aaberg</uri>
    <email>Jesper.Aaberg@contoso.com</email>
  </author>
<contributor>
    <name>Lene Aaling</name>
    <uri>http://Contoso/Aaling</uri>
    <email>Lene.Aaling@contoso.com</email>
  </contributor>

El siguiente fragmento XML muestra cómo se serializa la clase SyndicationPerson a RSS 2.0 si solo existe una SyndicationPerson en las colecciones Authors o Contributors, respectivamente.

<author>Jesper.Aaberg@contoso.com</author>
<a10:contributor>
    <a10:name>Lene Aaling</a10:name>
    <a10:uri>http://Contoso/Aaling</a10:uri>
    <a10:email>Lene.Aaling@contoso.com</a10:email>
</a10:contributor>

El siguiente fragmento XML muestra cómo se serializa la clase SyndicationPerson a RSS 2.0 si existe más de una SyndicationPerson en las colecciones Authors o Contributors, respectivamente.

<a10:author>
    <a10:name>Jesper Aaberg</a10:name>
    <a10:uri>http://Contoso/Aaberg</a10:uri>
    <a10:email>Jesper.Aaberg@contoso.com</a10:email>
</a10:author>
<a10:author>
    <a10:name>Syed Abbas</a10:name>
    <a10:uri>http://Contoso/Abbas</a10:uri>
    <a10:email>Syed.Abbas@contoso.com</a10:email>
</a10:author>
<a10:contributor>
    <a10:name>Lene Aaling</a10:name>
    <a10:uri>http://Contoso/Aaling</a10:uri>
    <a10:email>Lene.Aaling@contoso.com</a10:email>
</a10:contributor>
<a10:contributor>
    <a10:name>Kim Abercrombie</a10:name>
    <a10:uri>http://Contoso/Abercrombie</a10:uri>
    <a10:email>Kim.Abercrombie@contoso.com</a10:email>
</a10:contributor>

El siguiente ejemplo de código muestra cómo serializar la clase SyndicationLink a Atom 1.0 y RSS 2.0.

Dim feed As New SyndicationFeed("My Feed Title", "My Feed Description", New Uri("http://MyFeedURI"))
feed.Links.Add(New SyndicationLink(New Uri("http://contoso/MyLink"), "alternate", "My Link Title", "text/html", 2048))

SerializeFeed(feed)
SyndicationFeed feed = new SyndicationFeed("My Feed Title", "My Feed Description", new Uri("http://MyFeedURI"));
feed.Links.Add(new SyndicationLink(new Uri("http://contoso/MyLink"), "alternate", "My Link Title", "text/html", 2048));

SerializeFeed(feed);

El siguiente XML muestra cómo se serializa SyndicationLink a Atom 1.0.

<link rel="alternate" type="text/html" title="My Link Title" length="2048" href="http://contoso/MyLink" />

El siguiente XML muestra cómo se serializa SyndicationLinka RSS 2.0.

<a10:link rel="alternate" type="text/html" title="My Link Title" length="2048" href="http://contoso/MyLink" />

SyndicationCategory

El siguiente ejemplo de código muestra cómo serializar la clase SyndicationCategory a Atom 1.0 y RSS 2.0.

Dim feed As New SyndicationFeed("My Feed Title", "My Feed Description", New Uri("http://MyFeedURI"))

Dim category As New SyndicationCategory("MyCategory")
category.Label = "categoryLabel"
category.Name = "categoryName"
category.Scheme = "categoryScheme"
feed.Categories.Add(category)

SerializeFeed(feed)
SyndicationFeed feed = new SyndicationFeed("My Feed Title", "My Feed Description", new Uri("http://MyFeedURI"));

SyndicationCategory category = new SyndicationCategory("MyCategory");
category.Label = "categoryLabel";
category.Name = "categoryName";
category.Scheme = "categoryScheme";
feed.Categories.Add(category);

SerializeFeed(feed);

El siguiente XML muestra cómo se serializa SyndicationCategory a Atom 1.0.

<category term="categoryName" label="categoryLabel" scheme="categoryScheme" />

El siguiente XML muestra cómo se serializa SyndicationCategory a RSS 2.0.

<category domain="categoryScheme">categoryName</category>

TextSyndicationContent

El siguiente ejemplo de código muestra cómo serializar la clase TextSyndicationContent a Atom 1.0 y RSS 2.0 cuando TextSyndicationContent se crea con contenido HTML.

Dim htmlItem As New SyndicationItem()
htmlItem.Content = New TextSyndicationContent("<html> some html </html>", TextSyndicationContentKind.Html)

SerializeItem(htmlItem)
SyndicationItem htmlItem = new SyndicationItem();
htmlItem.Content = new TextSyndicationContent("<html> some html </html>", TextSyndicationContentKind.Html);

SerializeItem(htmlItem);

El siguiente XML muestra cómo se serializa la clase TextSyndicationContent con contenido de HTML a Atom 1.0.

<content type="html">&lt;html&gt; some html &lt;/html&gt;</content>

El siguiente XML muestra cómo se serializa la clase TextSyndicationContent con contenido de HTML a RSS 2.0.

<description>&lt;html&gt; some html &lt;/html&gt;</description>

El siguiente código de ejemplo muestra cómo serializar la clase TextSyndicationContent a Atom 1.0 y RSS 2.0 cuando se crea TextSyndicationContent con contenido de texto sin formato.

Dim txtItem As New SyndicationItem()
txtItem.Content = New TextSyndicationContent("Some Plain Text", TextSyndicationContentKind.Plaintext)

SerializeItem(txtItem)
SyndicationItem txtItem = new SyndicationItem();
txtItem.Content = new TextSyndicationContent("Some Plain Text", TextSyndicationContentKind.Plaintext);

SerializeItem(txtItem);

El siguiente XML muestra cómo se serializa la clase TextSyndicationContent con contenido de texto sin formato a Atom 1.0.

<content type="text">Some Plain Text</content>

El siguiente XML muestra cómo se serializa la clase TextSyndicationContent con contenido de texto sin formato a RSS 2.0.

<description>Some Plain Text</description>

El siguiente código de ejemplo muestra cómo serializar la clase TextSyndicationContent a Atom 1.0 y RSS 2.0 cuando se crea TextSyndicationContent con contenido XHTML.

Dim xhtmlItem As New SyndicationItem()
xhtmlItem.Content = New TextSyndicationContent("<html> some xhtml </html>", TextSyndicationContentKind.XHtml)

SerializeItem(xhtmlItem)
SyndicationItem xhtmlItem = new SyndicationItem();
xhtmlItem.Content = new TextSyndicationContent("<html> some xhtml </html>", TextSyndicationContentKind.XHtml);

SerializeItem(xhtmlItem);

El siguiente XML muestra cómo se serializa la clase TextSyndicationContent con contenido de XHTML a Atom 1.0.

<content type="xhtml">

<html> some xhtml </html>

</content>

El siguiente fragmento XML muestra cómo se serializa la clase TextSyndicationContent con contenido XHTML a RSS 2.0.

<description>&lt;html&gt; some xhtml &lt;/html&gt;</description>

UrlSyndicationContent

El siguiente código de ejemplo muestra cómo serializar la clase UrlSyndicationContent a Atom 1.0 y RSS 2.0.

Dim urlItem As New SyndicationItem()
urlItem.Content = New UrlSyndicationContent(New Uri("http://Contoso/someUrl"), "audio")

SerializeItem(urlItem)
SyndicationItem urlItem = new SyndicationItem();
urlItem.Content = new UrlSyndicationContent(new Uri("http://Contoso/someUrl"), "audio");

SerializeItem(urlItem);

El siguiente fragmento XML muestra cómo se serializa la clase UrlSyndicationContent a Atom 1.0.

<content type="audio" src="http://someurl/" />

El siguiente fragmento XML muestra cómo se serializa la clase UrlSyndicationContent con contenido XHTML a RSS 2.0.

<description />

<content type="audio" src="http://Contoso/someurl/" xmlns="http://www.w3.org/2005/Atom" />

XmlSyndicationContent

El siguiente código de ejemplo muestra cómo serializar la clase XmlSyndicationContent a Atom 1.0 y RSS 2.0.

Dim xmlItem As New SyndicationItem()

xmlItem.Title = New TextSyndicationContent("Xml Item Title")
xmlItem.Content = New XmlSyndicationContent("mytype", New SyndicationElementExtension(New SomeData()))

SerializeItem(xmlItem)
SyndicationItem xmlItem = new SyndicationItem();

xmlItem.Title = new TextSyndicationContent("Xml Item Title");
xmlItem.Content = new XmlSyndicationContent("mytype", new SyndicationElementExtension(new SomeData()));

SerializeItem(xmlItem);

El siguiente fragmento XML muestra cómo se serializa la clase XmlSyndicationContent a Atom 1.0.

<content type="mytype">

<SomeData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/FeedMapping" />

</content>

El siguiente fragmento XML muestra cómo se serializa la clase XmlSyndicationContent con contenido XHTML a RSS 2.0.

<content type="mytype" xmlns="http://www.w3.org/2005/Atom">

<SomeData xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/FeedMapping" />

</content>

Vea también

Tareas

Creación de una fuente RSS básica
Creación de una fuente básica de Atom
Cómo: Exponer una fuente como Atom y RSS

Conceptos

Información general de distribución de WCF
Arquitectura de distribución