我想用SyndicationFeed
類做一個簡單的RSS閱讀器。建立一個簡單的RSS閱讀器,檢索內容
有一些標準標籤,如<title>
,<link>
,<description>
...這是沒有問題的。
但還有一些其他標籤。例如,在由WordPress創建的this feed中,有<content:encoded>
標籤。我認爲其他網站的內容部分可能還有其他標籤。對?
我想知道,如何找到每篇文章的主要內容,有沒有什麼標準?我應該尋找哪些標籤?
(例如,一個網站可能使用<content:encoded>
但其他一些只使用<description>
或別人使用其他標準...我不知道要爲檢索主要內容後做)
PS:我正在使用此代碼來測試我的簡單RSS閱讀器:
var reader = XmlReader.Create("http://feed.2barnamenevis.com/2barnamenevis");
var feed = SyndicationFeed.Load(reader);
string s = "";
foreach (SyndicationItem i in feed.Items)
{
s += i.Title.Text + "<br />" + i.Summary.Text + "<br />" + i.PublishDate.ToString() + "<br />";
foreach (SyndicationElementExtension extension in i.ElementExtensions)
{
XElement ele = extension.GetObject<XElement>();
s += ele.Name + " :: " + ele.Value + "<br />";
}
s += "<hr />";
}
return s;
取決於您想要支持的內容。內容元素不是RSS2.0的一部分,但屬於Atom(rss 4287)。 閱讀RSS2.0規範http://cyber.law.harvard.edu/rss/rss./rss.html#hrelementsOfLtitemgt –
上次我試着寫一個RSS閱讀器,我最終放棄了,因爲我意識到有大量的訂閱源在那裏不要遵循任何標準。在閱讀Feed時,那裏的主要讀者必須非常寬容。我覺得它有點像閱讀網頁的瀏覽器 - 如果人們遵循這些標準,那就沒有問題,但如果不是的話,那麼你會整天寫一些自定義的東西來處理一次性場景。 –
@JoeEnos其他供稿閱讀器應用程序有什麼作用?他們可以閱讀每一個飼料。他們是怎麼做到的?! –