SyndicationFeed 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
최상위 피드 개체인 <feed
>(Atom 1.0) 및 <rss
>(RSS 2.0)를 나타냅니다.
public ref class SyndicationFeed
public class SyndicationFeed
type SyndicationFeed = class
Public Class SyndicationFeed
- 상속
-
SyndicationFeed
예제
다음 코드에서는 SyndicationFeed 인스턴스를 만들고 이를 Atom 1.0 및 RSS 2.0으로 serialize하는 방법을 보여 줍니다.
SyndicationFeed feed = new SyndicationFeed("Feed Title", "Feed Description", new Uri("http://Feed/Alternate/Link"), "FeedID", DateTime.Now);
// Add a custom attribute.
XmlQualifiedName xqName = new XmlQualifiedName("CustomAttribute");
feed.AttributeExtensions.Add(xqName, "Value");
SyndicationPerson sp = new SyndicationPerson("jesper@contoso.com", "Jesper Aaberg", "http://Jesper/Aaberg");
feed.Authors.Add(sp);
SyndicationCategory category = new SyndicationCategory("FeedCategory", "CategoryScheme", "CategoryLabel");
feed.Categories.Add(category);
feed.Contributors.Add(new SyndicationPerson("lene@contoso.com", "Lene Aaling", "http://lene/aaling"));
feed.Copyright = new TextSyndicationContent("Copyright 2007");
feed.Description = new TextSyndicationContent("This is a sample feed");
// Add a custom element.
XmlDocument doc = new XmlDocument();
XmlElement feedElement = doc.CreateElement("CustomElement");
feedElement.InnerText = "Some text";
feed.ElementExtensions.Add(feedElement);
feed.Generator = "Sample Code";
feed.Id = "FeedID";
feed.ImageUrl = new Uri("http://server/image.jpg");
TextSyndicationContent textContent = new TextSyndicationContent("Some text content");
SyndicationItem item = new SyndicationItem("Item Title", textContent, new Uri("http://server/items"), "ItemID", DateTime.Now);
List<SyndicationItem> items = new List<SyndicationItem>();
items.Add(item);
feed.Items = items;
feed.Language = "en-us";
feed.LastUpdatedTime = DateTime.Now;
SyndicationLink link = new SyndicationLink(new Uri("http://server/link"), "alternate", "Link Title", "text/html", 1000);
feed.Links.Add(link);
XmlWriter atomWriter = XmlWriter.Create("atom.xml");
Atom10FeedFormatter atomFormatter = new Atom10FeedFormatter(feed);
atomFormatter.WriteTo(atomWriter);
atomWriter.Close();
XmlWriter rssWriter = XmlWriter.Create("rss.xml");
Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(feed);
rssFormatter.WriteTo(rssWriter);
rssWriter.Close();
Dim feed As SyndicationFeed = New SyndicationFeed("Feed Title", "Feed Description", New Uri("http:'Feed/Alternate/Link"), "FeedID", DateTime.Now)
' Add a custom attribute.
Dim xqName As XmlQualifiedName = New XmlQualifiedName("CustomAttribute")
feed.AttributeExtensions.Add(xqName, "Value")
Dim sp As SyndicationPerson = New SyndicationPerson("jesper@contoso.com", "Jesper Aaberg", "http:'jesper/aaberg")
feed.Authors.Add(sp)
Dim category As SyndicationCategory = New SyndicationCategory("FeedCategory", "CategoryScheme", "CategoryLabel")
feed.Categories.Add(category)
feed.Contributors.Add(New SyndicationPerson("Lene@contoso.com", "Lene Aaling", "http:'Lene/Aaling"))
feed.Copyright = New TextSyndicationContent("Copyright 2007")
feed.Description = New TextSyndicationContent("This is a sample feed")
' Add a custom element.
Dim doc As XmlDocument = New XmlDocument()
Dim feedElement As XmlElement = doc.CreateElement("CustomElement")
feedElement.InnerText = "Some text"
feed.ElementExtensions.Add(feedElement)
feed.Generator = "Sample Code"
feed.Id = "FeedID"
feed.ImageUrl = New Uri("http:'server/image.jpg")
Dim textContent As TextSyndicationContent = New TextSyndicationContent("Some text content")
Dim item As SyndicationItem = New SyndicationItem("Item Title", textContent, New Uri("http:'server/items"), "ItemID", DateTime.Now)
Dim items As Collection(Of SyndicationItem) = New Collection(Of SyndicationItem)()
items.Add(item)
feed.Items = items
feed.Language = "en-us"
feed.LastUpdatedTime = DateTime.Now
Dim link As SyndicationLink = New SyndicationLink(New Uri("http:'server/link"), "alternate", "Link Title", "text/html", 1000)
feed.Links.Add(link)
Dim atomWriter As XmlWriter = XmlWriter.Create("atom.xml")
Dim atomFormatter As Atom10FeedFormatter = New Atom10FeedFormatter(feed)
atomFormatter.WriteTo(atomWriter)
atomWriter.Close()
Dim rssWriter As XmlWriter = XmlWriter.Create("rss.xml")
Dim rssFormatter As Rss20FeedFormatter = New Rss20FeedFormatter(feed)
rssFormatter.WriteTo(rssWriter)
rssWriter.Close()
다음 XML에서는 SyndicationFeed이 Atom 1.0으로 serialize되는 방법을 보여 줍니다.
<feed xml:lang="en-us" CustomAttribute="Value" xmlns="http://www.w3.org/2005/Atom">
<title type="text">Feed Title</title>
<subtitle type="text">This is a sample feed</subtitle>
<id>FeedID</id>
<rights type="text">Copyright 2007</rights>
<updated>2007-04-13T17:29:38Z</updated>
<category term="FeedCategory" label="CategoryLabel" scheme="CategoryScheme" />
<logo>http://contoso/image.jpg</logo>
<author>
<name>Jesper Aaberg</name>
<uri>http://contoso/Aaberg</uri>
<email>Jesper.Asberg@contoso.com</email>
</author>
<contributor>
<name>Lene Aalling</name>
<uri>http://contoso/Aalling</uri>
<email>Lene.Aaling@contoso.com</email>
</contributor>
<generator>Sample Code</generator>
<link rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<link customAttribute="value" rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<CustomElement xmlns="">Some text</CustomElement>
<entry>
<id>ItemID</id>
<title type="text">Item Title</title>
<updated>2007-04-13T17:29:38Z</updated>
<link rel="alternate" href="http://contoso/items" />
<content type="text">Some text content</content>
</entry>
</feed>
다음 XML에서는 SyndicationFeed 인스턴스가 RSS 2.0으로 serialize되는 방법을 보여 줍니다.
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
<channel CustomAttribute="Value">
<title>피드 제목</title>
<link>http://feed/Alternate/Link</link>
<description>샘플 피드입니다.</description>
<language>en-us</language>
<copyright>Copyright 2007</copyright>
<managingEditor>Jesper.Aaberg@contoso.com</managingEditor>
<lastBuildDate>Fri, 13 Apr 2007 17:29:38 Z</lastBuildDate>
<category domain="CategoryScheme">FeedCategory</category>
<a10:link rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<generator>Sample Code</generator>
<a10:contributor>
<a10:name>Lene Aalling</a10:name>
<a10:uri>http://contoso/Aalling</a10:uri>
<a10:email>Lene.Aalling@contoso.com</a10:email>
</a10:contributor>
<a10:author>
<a10:name>Lene Aalling</a10:name>
<a10:uri>http://contoso/Aalling</a10:uri>
<a10:email>Lene.Aalling@contoso.com</a10:email>
</a10:author>
<image>
<url>http://contoso/image.jpg</url>
<title>피드 제목</title>
<link>http://feed/Alternate/Link</link>
</image>
<a10:id>FeedID</a10:id>
<a10:link customAttribute="value" rel="alternate" type="text/html" title="Link Title" length="1000" href="http://contoso/link" />
<CustomElement>Some text</CustomElement>
<item>
<guid isPermaLink="false">ItemID</guid>
<link>http://contoso/items</link>
<title>항목 제목</title>
<description>일부 텍스트 콘텐츠</description>
<a10:updated>2007-04-13T17:29:38Z</a10:updated>
</item>
</channel>
</rss>
설명
Atom 1.0 SyndicationFeed 으로 직렬화하면 인스턴스가 요소에 <feed>
기록됩니다. 다음 표에서는 SyndicationFeed 클래스에 정의된 각 속성이 어떻게 Atom 1.0으로 serialize되는지 보여 줍니다.
SyndicationFeed 속성 | Serialize된 형식 |
---|---|
AttributeExtensions |
컬렉션의 <feed> 각 특성에 대한 요소의 특성입니다. |
Authors |
<author> 컬렉션의 각 SyndicationPerson 요소입니다. |
Categories |
<category> 컬렉션의 각 SyndicationCategory 요소입니다. |
Contributors |
<contributor> 컬렉션의 각 SyndicationPerson 요소입니다. |
Copyright |
<rights> 요소입니다. |
Description |
<subtitle> 요소입니다. |
ElementExtensions |
컬렉션의 각 요소는 요소 내에 <feed> 기록됩니다. |
Generator |
<generator> 요소입니다. |
Id |
요소입니다 <id> . |
ImageUri |
<logo> 요소입니다. |
Items |
<entry> 컬렉션의 각 SyndicationItem 요소입니다. |
Language |
serialize되지 않았습니다. |
LastUpdatedTime |
요소입니다 <updated> . |
Links |
<link> 컬렉션의 각 SyndicationLink 요소입니다. |
Title |
<title> 요소입니다. |
RSS 2.0 SyndicationFeed 으로 직렬화되면 인스턴스가 요소에 <rss>
기록됩니다. 다음 표에서는 SyndicationFeed 클래스에 정의된 각 속성이 어떻게 RSS 2.0으로 serialize되는지 보여 줍니다.
SyndicationFeed 속성 | Serialize된 형식 |
---|---|
AttributeExtensions |
컬렉션의 <channel> 각 특성에 대한 요소의 특성입니다. |
Authors |
<managingEditor> 컬렉션에 하나 SyndicationPerson 만 있으면 요소이고, <a10:author> 그렇지 않으면 컬렉션의 각 SyndicationPerson 요소입니다. |
Categories |
<category> 컬렉션의 각 SyndicationCategory 요소입니다. |
Contributors |
<a10:contributor> 컬렉션의 각 SyndicationPerson 요소입니다. |
Copyright |
<copyright> 요소입니다. |
Description |
<description> 요소입니다. |
ElementExtensions |
컬렉션의 각 요소는 요소 내에 <channel> 기록됩니다. |
Generator |
<generator> 요소입니다. |
Id |
요소입니다 <a10:id> . |
ImageUri |
요소입니다 <image> . |
Items |
<item> 컬렉션의 각 SyndicationItem 요소입니다. |
Language |
<language> 요소입니다. |
LastUpdatedTime |
<lastBuildDate> 요소입니다. |
Links |
<a10:link> 컬렉션의 각 SyndicationLink 요소입니다. |
Title |
<title> 요소입니다. |
생성자
SyndicationFeed() |
SyndicationFeed 클래스의 새 인스턴스를 초기화합니다. |
SyndicationFeed(IEnumerable<SyndicationItem>) |
지정된 SyndicationFeed 개체 컬렉션을 사용하여 SyndicationItem 클래스의 새 인스턴스를 초기화합니다. |
SyndicationFeed(String, String, Uri) |
지정된 제목, 설명 및 URI(Uniform Resource Identifier)를 사용하여 SyndicationFeed 클래스의 새 인스턴스를 초기화합니다. |
SyndicationFeed(String, String, Uri, IEnumerable<SyndicationItem>) |
지정된 제목, 설명, URI 및 SyndicationFeed 개체 컬렉션을 사용하여 SyndicationItem 클래스의 새 인스턴스를 초기화합니다. |
SyndicationFeed(String, String, Uri, String, DateTimeOffset) |
SyndicationFeed 클래스의 새 인스턴스를 만듭니다. |
SyndicationFeed(String, String, Uri, String, DateTimeOffset, IEnumerable<SyndicationItem>) |
SyndicationFeed 클래스의 새 인스턴스를 만듭니다. |
SyndicationFeed(SyndicationFeed, Boolean) |
지정된 피드를 사용하여 SyndicationFeed 클래스의 새 인스턴스를 만듭니다. |
속성
AttributeExtensions |
특성 확장 컬렉션을 가져옵니다. |
Authors |
피드 작성자 컬렉션을 가져옵니다. |
BaseUri |
SyndicationFeed 인스턴스의 기본 URI를 가져오거나 설정합니다. |
Categories |
피드의 범주 컬렉션을 가져옵니다. |
Contributors |
피드 검토자 컬렉션을 가져옵니다. |
Copyright |
피드에 대한 저작권 정보를 가져오거나 설정합니다. |
Description |
피드에 대한 설명을 가져오거나 설정합니다. |
Documentation |
피드의 설명서에 대한 링크를 가져오거나 설정합니다. |
ElementExtensions |
피드의 요소 확장을 가져옵니다. |
Generator |
피드의 생성기를 가져오거나 설정합니다. |
Id |
피드의 ID를 가져오거나 설정합니다. |
ImageUrl |
피드의 이미지 URL을 가져오거나 설정합니다. |
Items |
피드에 들어 있는 피드 항목 컬렉션을 가져옵니다. |
Language |
피드의 언어를 가져오거나 설정합니다. |
LastUpdatedTime |
피드가 마지막으로 업데이트된 시간을 가져오거나 설정합니다. |
Links |
피드와 연결된 링크를 가져옵니다. |
SkipDays |
피드에 대한 ‘skipDays’ 요소의 값 집합을 나타내는 문자열 컬렉션을 가져옵니다. |
SkipHours |
피드에 대한 ‘skipHours’ 요소의 값 집합을 나타내는 정수의 컬렉션을 가져옵니다. |
TextInput |
피드에 대한 TextInput 속성을 가져오거나 설정합니다. |
TimeToLive |
피드에 대한 ‘ttl’ 특성을 가져오거나 설정합니다. |
Title |
피드의 제목을 가져오거나 설정합니다. |