Mapování modelu objektu syndikace WCF na Atom a RSS
Při vývoji syndikační služby WCF (Windows Communication Foundation) vytvoříte informační kanály a položky pomocí následujících tříd:
A SyndicationFeed lze serializovat do libovolného formátu syndikace, pro který je definován formátovací modul. WCF se dodává se dvěma formátovacími moduly: Atom10FeedFormatter a Rss20FeedFormatter.
Objektový model kolem SyndicationFeed a SyndicationItem je více zarovnán se specifikací Atom 1.0 než specifikace RSS 2.0. Je to proto, že Atom 1.0 je podstatnější specifikace, která definuje prvky, které jsou nejednoznačné nebo vynechány ze specifikace RSS 2.0. Z tohoto důvodu mnoho položek v objektovém modelu syndikace WCF nemá v specifikaci RSS 2.0 žádnou přímou reprezentaci. Při serializaci SyndicationFeed a SyndicationItem objekty do RSS 2.0 WCF umožňuje serializovat datové prvky specifické pro Atom jako rozšiřující prvky kvalifikované oborem názvů, které odpovídají specifikaci Atom. Můžete to řídit pomocí parametru předaného konstruktoru Rss20FeedFormatter .
Ukázky kódu v tomto tématu používají jednu ze dvou metod definovaných zde k provedení skutečné serializace.
SerializeFeed
serializuje syndikační kanál.
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 položku syndikace.
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
Následující příklad kódu ukazuje, jak serializovat SyndicationFeed třídu atom 1.0 a 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)
Následující KÓD XML ukazuje, jak je serializován na SyndicationFeed 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>
Následující KÓD XML ukazuje, jak SyndicationFeed je serializován na 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
Následující příklad kódu ukazuje, jak serializovat SyndicationItem třídu atom 1.0 a 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)
Následující KÓD XML ukazuje, jak je serializován na SyndicationItem 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>
Následující KÓD XML ukazuje, jak SyndicationItem je serializován na 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
Následující příklad kódu ukazuje, jak serializovat SyndicationPerson třídu atom 1.0 a 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)
Následující KÓD XML ukazuje, jak je serializován na SyndicationPerson 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>
Následující KÓD XML ukazuje, jak SyndicationPerson je třída serializována na RSS 2.0, pokud existuje pouze jeden SyndicationPerson v Authors
kolekcích, Contributors
v uvedeném pořadí.
<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>
Následující XML ukazuje, jak SyndicationPerson je třída serializována na RSS 2.0, pokud existuje více než jeden SyndicationPerson v Authors
kolekci nebo Contributors
kolekce.
<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>
Syndicationlink
Následující příklad kódu ukazuje, jak serializovat SyndicationLink třídu atom 1.0 a 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)
Následující KÓD XML ukazuje, jak je serializován na SyndicationLink Atom 1.0.
<link rel="alternate" type="text/html" title="My Link Title" length="2048" href="http://contoso/MyLink" />
Následující KÓD XML ukazuje, jak SyndicationLink je serializován na RSS 2.0.
<a10:link rel="alternate" type="text/html" title="My Link Title" length="2048" href="http://contoso/MyLink" />
Syndicationcategory
Následující příklad kódu ukazuje, jak serializovat SyndicationCategory třídu atom 1.0 a 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)
Následující KÓD XML ukazuje, jak je serializován na SyndicationCategory Atom 1.0.
<category term="categoryName" label="categoryLabel" scheme="categoryScheme" />
Následující KÓD XML ukazuje, jak SyndicationCategory je serializován na RSS 2.0.
<category domain="categoryScheme">categoryName</category>
TextSyndicationContent
Následující příklad kódu ukazuje, jak serializovat TextSyndicationContent třídu atom 1.0 a RSS 2.0 při TextSyndicationContent vytváření s obsahem 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)
Následující KÓD XML ukazuje, jak TextSyndicationContent je třída s obsahem HTML serializována na Atom 1.0.
<content type="html"><html> some html </html></content>
Následující XML ukazuje, jak TextSyndicationContent je třída s obsahem HTML serializována na RSS 2.0.
<description><html> some html </html></description>
Následující příklad kódu ukazuje, jak serializovat TextSyndicationContent třídu atom 1.0 a RSS 2.0 při TextSyndicationContent vytváření s obsahem prostého textu.
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)
Následující XML ukazuje, jak TextSyndicationContent třída s obsahem prostého textu je serializována na Atom 1.0.
<content type="text">Some Plain Text</content>
Následující XML ukazuje, jak TextSyndicationContent třída s obsahem prostého textu je serializována na RSS 2.0.
<description>Some Plain Text</description>
Následující příklad kódu ukazuje, jak serializovat TextSyndicationContent třídu atom 1.0 a RSS 2.0 při TextSyndicationContent vytváření s XHTML obsahu.
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)
Následující XML ukazuje, jak TextSyndicationContent je třída s obsahem XHTML serializována na Atom 1.0.
<content type="xhtml">
<html> some xhtml </html>
</content>
Následující XML ukazuje, jak TextSyndicationContent je třída s obsahem XHTML serializována na RSS 2.0.
<description><html> some xhtml </html></description>
UrlSyndicationContent
Následující příklad kódu ukazuje, jak serializovat UrlSyndicationContent třídu atom 1.0 a 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)
Následující XML ukazuje, jak UrlSyndicationContent je třída serializována na Atom 1.0.
<content type="audio" src="http://someurl/" />
Následující XML ukazuje, jak UrlSyndicationContent je třída s obsahem XHTML serializována na RSS 2.0.
<description />
<content type="audio" src="http://Contoso/someurl/" xmlns="http://www.w3.org/2005/Atom" />
XmlSyndicationContent
Následující příklad kódu ukazuje, jak serializovat XmlSyndicationContent třídu atom 1.0 a 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)
Následující XML ukazuje, jak XmlSyndicationContent je třída serializována na 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>
Následující XML ukazuje, jak XmlSyndicationContent je třída s obsahem XHTML serializována na 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>