Udostępnij za pośrednictwem


Sposób mapowania modelu obiektu syndykacji programu WCF na kanały informacyjne Atom i RSS

Podczas tworzenia usługi syndykacji programu Windows Communication Foundation (WCF) są tworzone kanały informacyjne i elementy przy użyciu następujących klas:

Element SyndicationFeed można serializować w dowolnym formacie syndykacji, dla którego zdefiniowano formatator. Program WCF jest dostarczany z dwoma formaterami: Atom10FeedFormatter i Rss20FeedFormatter.

Model obiektów wokół SyndicationFeed i SyndicationItem jest ściślej dopasowany do specyfikacji Atom 1.0 niż specyfikacja RSS 2.0. Wynika to z faktu, że Atom 1.0 jest bardziej znaczącą specyfikacją, która definiuje elementy, które są niejednoznaczne lub pomijane ze specyfikacji RSS 2.0. Z tego powodu wiele elementów w modelu obiektów syndykacji WCF nie ma bezpośredniej reprezentacji w specyfikacji RSS 2.0. Podczas serializacji SyndicationFeed i SyndicationItem obiektów w formacie RSS 2.0 program WCF umożliwia serializowanie elementów danych specyficznych dla atomów jako elementów rozszerzenia kwalifikowanych przestrzeni nazw, które są zgodne ze specyfikacją atomu. Można to kontrolować za pomocą parametru przekazanego do konstruktora Rss20FeedFormatter .

Przykłady kodu w tym temacie używają jednej z dwóch metod zdefiniowanych tutaj w celu wykonania rzeczywistej serializacji.

SerializeFeed serializuje źródło danych syndykacji.

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 serializuje element syndykacji.

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

Poniższy przykład kodu pokazuje, jak serializować klasę SyndicationFeed na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak SyndicationFeed serializowany jest 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>  

Poniższy kod XML pokazuje, jak SyndicationFeed serializowany jest 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

Poniższy przykład kodu pokazuje, jak serializować klasę SyndicationItem na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak SyndicationItem serializowany jest 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>  

Poniższy kod XML pokazuje, jak SyndicationItem serializowany jest 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

Poniższy przykład kodu pokazuje, jak serializować klasę SyndicationPerson na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak SyndicationPerson serializowany jest 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>  

Poniższy kod XML pokazuje, jak SyndicationPerson klasa jest serializowana do rss 2.0, jeśli tylko jedna SyndicationPerson istnieje w Authors kolekcjach lub Contributors , odpowiednio.

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

Poniższy kod XML pokazuje, jak SyndicationPerson klasa jest serializowana do rss 2.0, jeśli więcej niż jeden SyndicationPerson istnieje odpowiednio w Authors kolekcjach lub Contributors .

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

Poniższy przykład kodu pokazuje, jak serializować klasę SyndicationLink na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak SyndicationLink serializowany jest atom 1.0.

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

Poniższy kod XML pokazuje, jak SyndicationLink serializowany jest rss 2.0.

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

Syndicationcategory

Poniższy przykład kodu pokazuje, jak serializować klasę SyndicationCategory na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak SyndicationCategory serializowany jest atom 1.0.

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

Poniższy kod XML pokazuje, jak SyndicationCategory serializowany jest rss 2.0.

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

Textsyndicationcontent

Poniższy przykład kodu pokazuje, jak serializować klasę TextSyndicationContent na atom 1.0 i RSS 2.0 podczas TextSyndicationContent tworzenia zawartości 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)

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością HTML jest serializowana do atomu 1.0.

<content type="html"><html> some html </html></content>

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością HTML jest serializowana do rss 2.0.

<description><html> some html </html></description>

W poniższym przykładzie kodu pokazano, jak serializować klasę TextSyndicationContent w atomach 1.0 i RSS 2.0 podczas TextSyndicationContent tworzenia przy użyciu zawartości zwykłego tekstu.

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)

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością zwykłego tekstu jest serializowana do atomu 1.0.

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

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością zwykłego tekstu jest serializowana do rss 2.0.

<description>Some Plain Text</description>

W poniższym przykładzie kodu pokazano, jak serializować klasę TextSyndicationContent na atom 1.0 i RSS 2.0 podczas TextSyndicationContent tworzenia przy użyciu zawartości 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)

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością XHTML jest serializowana do atomu 1.0.

<content type="xhtml">

<html> some xhtml </html>

</content>

Poniższy kod XML pokazuje, jak TextSyndicationContent klasa z zawartością XHTML jest serializowana do rss 2.0.

<description><html> some xhtml </html></description>

Urlsyndicationcontent

Poniższy przykład kodu pokazuje, jak serializować klasę UrlSyndicationContent na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak UrlSyndicationContent klasa jest serializowana do atomu 1.0.

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

Poniższy kod XML pokazuje, jak UrlSyndicationContent klasa z zawartością XHTML jest serializowana do rss 2.0.

<description />

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

Xmlsyndicationcontent

Poniższy przykład kodu pokazuje, jak serializować klasę XmlSyndicationContent na atom 1.0 i 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)

Poniższy kod XML pokazuje, jak XmlSyndicationContent klasa jest serializowana do atomu 1.0.

<content type="mytype">

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

</content>

Poniższy kod XML pokazuje, jak XmlSyndicationContent klasa z zawartością XHTML jest serializowana do 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>

Zobacz też