ASP.NET > ASP.NET Core > RSS 피드 읽기 라이브러리 비교

RSS 피드 읽기 라이브러리 비교



Feed URL



Feed URL은 다음을 사용했습니다.
htps // // 네 ws. 야호오. 이. jp/피 c쿠 p/코 m뿌테 r/rs. xml

CodeHollow.FeedReader





CodeHollow의 FeedReader
htps : // 기주 b. 코 m / 코데 호우 w / 후에 d 레어 r

샘플 소스



샘플 소스 소스는 다음을 사용했습니다.
htps : // 기주 b. 코 m/코데호우w/후에에 드레아데 r/bぉb/마s테 r/후에에데레에 r. 안녕하세요. 안녕 mpぇ. csp 여 j

사용법



FeedReader.ReadAsync1 행에서 Rss를 읽기 변수에 설정합니다.
var reader = await FeedReader.ReadAsync(url);

다음과 같은 느낌으로 설정됩니다.


아이 요소로 루프하고 싶은 경우에는 다음과 같이 사용합니다
var reader = await FeedReader.ReadAsync(url);
foreach (var item in reader.Items)
{
    Console.WriteLine(item.Title + " - " + item.Link);
}

결과





Microsoft.SyndicationFeed.ReaderWriter





Microsoft의 ReaderWriter입니다.
htps : // 기주 b. 이 m / t t t / Syn

사용법



샘플 소스 소스는 다음을 기반으로 사용했습니다.
htps : // 기주 b. 이 m / t t t / Syn kachion fu e d r r r r / b b / m r / e mp s / re d r m th th s와 m후에 ld세ぁmpぇ. cs

RssFeedReader로 읽기를 시작하고 feedReader.Read()로 순차적으로 읽어 갑니다.
RssFeedReader는 RSS 읽기 (HTTP 요청)를 시작하지 않으며 첫 번째 feedReader.Read()에서 HTTP 요청을 던지는 사양과 같습니다.
feedReader.Read()는 bool에서 읽기가 계속 가능한지 여부를 반환하는 것 같습니다.
[AsyncStateMachine(typeof(<Read>d__4))]
public override Task<bool> Read();

사용법 샘플



다음을 기반으로합니다.
htps : // 기주 b. 이 m / t t t / Syn kachion fu e d r r r r / b b / m r / e mp s / re d r m th th s와 m후에 ld세ぁmpぇ. cs
//
// Create an XmlReader from file
using (var xmlReader = XmlReader.Create(filepath, new XmlReaderSettings() { Async = true }))
{
    var parser = new RssParser();
    var feedReader = new RssFeedReader(xmlReader, parser);

    //
    // Read the feed
    while (await feedReader.Read())
    {
        if (feedReader.ElementType == SyndicationElementType.Item)
        {
            //
            // Read the item as generic content
            ISyndicationContent content = await feedReader.ReadContent();

            //
            // Parse the item if needed (unrecognized tags aren't available)
            // Utilize the existing parser
            ISyndicationItem item = parser.CreateItem(content);

            Console.WriteLine($"Item: {item.Title}");

            //
            // Get <example:customElement> field
            ISyndicationContent customElement = content.Fields.FirstOrDefault(f => f.Name == "example:customElement");

            if (customElement != null)
            {
                Console.WriteLine($"{customElement.Name}: {customElement.Value}");
            }
        }
    }
}


결과





SimpleFeedReader





RobThree/SimpleFeedReader
htps : // 기주 b. 코 m / 로 bTh 리에 / 시 mp

패키지를 로드할 수 없습니다. Core에는 대응하지 않는 것 같습니다.


nJupiter





njupiter/njupiter
htps : // 기주 b. 코 m / 닌쥬 피테 r / 닌쥬 피테 r

경고가 나왔습니다.




パッケージ 'nJupiter.Web.Syndication 4.0.2.516' はプロジェクトのターゲット フレームワーク '.NETCoreApp,Version=v2.0' ではなく '.NETFramework,Version=v4.6.1' を使用して復元されました。
このパッケージは、使用しているプロジェクトとの完全な互換性がない可能性があります。

총괄



CodeHollow.FeedReader는 한 줄로 피드를 얻을 수있는 곳이 매력입니다.
Microsoft.SyndicationFeed.ReaderWriter는 세밀하게 제어하고 싶을 때 사용합니다. (현재 이용 장면을 상상할 수 없지만)
SimpleFeedReader와 nJupiter는 Core에서 작동하지 않았기 때문에 시도하지 않았습니다.

코드



이번 테스트 코드는 아래에
htps : // 기주 b. 코 m / 스가사키 / ​​C 샤 rp 후 d

좋은 웹페이지 즐겨찾기