ASP.NET > ASP.NET Core > RSS 피드 읽기 라이브러리 비교
7065 단어 RSSFeedReadASP.NET_Core
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
Reference
이 문제에 관하여(ASP.NET > ASP.NET Core > RSS 피드 읽기 라이브러리 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugasaki/items/7f7f79a32f3364167ab2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var reader = await FeedReader.ReadAsync(url);
var reader = await FeedReader.ReadAsync(url);
foreach (var item in reader.Items)
{
Console.WriteLine(item.Title + " - " + item.Link);
}
[AsyncStateMachine(typeof(<Read>d__4))]
public override Task<bool> Read();
//
// 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}");
}
}
}
}
パッケージ '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
Reference
이 문제에 관하여(ASP.NET > ASP.NET Core > RSS 피드 읽기 라이브러리 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sugasaki/items/7f7f79a32f3364167ab2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(ASP.NET > ASP.NET Core > RSS 피드 읽기 라이브러리 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sugasaki/items/7f7f79a32f3364167ab2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)