4

SyndicationFeedクラスを使用して単純な RSS リーダーを作成しようとしています。

<title><link>、などの標準タグがいくつかありますが<description>、それらは問題ありません。

しかし、他のタグがいくつかあります。たとえば、WordPress で作成したこのフィード<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;
4

3 に答える 3

3

コメントでの議論から、ゼロから構築するのではなく、サード パーティ ベンダーを利用することをお勧めします。ArgoticRSS.NETはどちらも有望に見えます。

于 2012-06-14T05:48:46.523 に答える
0

サポートしたいものによって異なります。コンテンツ要素はRSS2.0の一部ではありませんが、Atom(rss 4287)のものです。

RSS2.0の仕様 を読むhttp://cyber.law.harvard.edu/rss/rss.html#hrelementsOfLtitemgtAtomの仕様を読むhttps://www.rfc-editor.org/rfc/rfc4287

于 2012-06-13T14:45:12.027 に答える
0

Argotic Syndication Frameworkを見つけました (JoeEnos に感謝)。

Argotic には多くの拡張機能があり、標準ではない要素を処理するために使用できます。

たとえば、Argotic.Extensions.Core.SiteSummaryContentSyndicationExtension取得に使用できます<content:encoded>ここで例を見ることができます。(その例がnullコンテンツに対して返される場合は、単純に を使用する必要がありますMyRssItem.Description)

その他の便利な拡張機能には、WellFormedWebCommentsSyndicationExtension(コメント フィードの URL を取得する場合) とSiteSummarySlashSyndicationExtension(コメント数を取得する場合) があります。

于 2012-06-14T04:40:40.733 に答える