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

Cuando se desarrolla un servicio de redifusión de Windows Communication Foundation (WCF), deben crearse fuentes y elementos con las siguientes clases:

SyndicationFeed se puede serializar en cualquier formato para redifusión web para el que está definido 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 del modelo de objetos de redifusió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 permite serializar elementos de datos específicos de Atom como elementos de extensión con el nombre completo del espacio de nombres 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 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();
}
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

SerializeItem serializa un elemento de distribución.

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();
}
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

SyndicationFeed

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

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("http://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);
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("http://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)

El siguiente XML muestra cómo se serializa SyndicationFeed a 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>http://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>http://server/image.jpg</logo>  
      <generator>Sample Code</generator>  
      <link rel="alternate" href="http://myfeeduri/" />  
    </source>  
  </entry>  
</feed>  

El siguiente XML muestra cómo se serializa SyndicationFeed 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>http://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.

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);
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)

El siguiente 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 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.

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);
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)

El siguiente XML muestra cómo se serializa SyndicationPerson 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 código de ejemplo muestra cómo serializar la clase SyndicationLink a Atom 1.0 y RSS 2.0.

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);
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)

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 SyndicationLink a RSS 2.0.

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

SyndicationCategory

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

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);
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)

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.

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

SerializeItem(htmlItem);
Dim htmlItem As 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"><html> some html </html></content>

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

<description><html> some html </html></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.

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

SerializeItem(txtItem);
Dim txtItem As 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.

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

SerializeItem(xhtmlItem);
Dim xhtmlItem As 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><html> some xhtml </html></description>

UrlSyndicationContent

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

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

SerializeItem(urlItem);
Dim urlItem As 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.

SyndicationItem xmlItem = new SyndicationItem();

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

SerializeItem(xmlItem);
Dim xmlItem As 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>

Consulte también