আরএসএস ফিড পড়ার সর্বোত্তম উপায়


106

আরএসএস ফিড পড়ার সর্বোত্তম উপায় কী ?

আমি XmlTextReaderএটি অর্জনে ব্যবহার করছি । এটি করার জন্য আর কোনও সেরা উপায় নেই?

XmlTextReader reader = new XmlTextReader(strURL);

DataSet ds = new DataSet();
ds.ReadXml(reader);

আরএসএস ফিড ব্যবহার করে পড়ার পরে XmlTextReader, আমি কি কোনও উপায়ে এর ListItemপরিবর্তে ডেটা পপুলেশন করতে পারি DataSet?

এখানে চিত্র বর্ণনা লিখুন

উত্তর:


176

System.ServiceModelতথ্যসূত্র যোগ করুন

ব্যবহার SyndicationFeed:

string url = "http://fooblog.com/feed";
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
foreach (SyndicationItem item in feed.Items)
{
    String subject = item.Title.Text;    
    String summary = item.Summary.Text;
    ...                
}

13
এই স্কিজল। অসাধারণ এবং সংক্ষিপ্ত আপনার সিস্টেম.এক্সএমএলও ব্যবহার করা দরকার; তবে এটি মোটামুটি স্পষ্ট। ব্লগারের জন্য ইউআরএল বর্তমানে আরএসএস 2.0 এর জন্য " blogname.blogspot.com/feeds/posts/default " (অ্যাটম 1.0) এবং " blogname.blogspot.com/feeds/posts/default?alt=rss " রয়েছে। সিন্ডিকেশনআইটেম আইটেমটিতে আপনার প্রয়োজনীয় আইটেমের সমস্ত বৈশিষ্ট্য রয়েছে। ভিজ্যুয়াল স্টুডিও ডিবাগারে কেবল বস্তুটি পরীক্ষা করুন এবং আলোকিত করুন।
সিক্রেটওয়েপ

আমরা কি এক্সএমএলআরডার পরিবর্তে এক্সএমএলটেক্সট রিডার ব্যবহার করতে পারি যে কোনও পারফরম্যান্সের পার্থক্য রয়েছে?
ড্রাগন

1
স্বল্প ও মধুর. ধন্যবাদ!
বোগদান ডুইসিন

8
নেট কোরের জন্য আপনি যে নিউগেট প্যাকেজটি ইনস্টল করতে চান এটি ব্যবহার করতে হয়System.ServiceModel.Syndication
adam0101

2019 এর জন্য প্রতিবারই এটি কেবলমাত্র একমাত্র সংস্করণটি অ্যাক্সেস করার চেষ্টা করব যা প্রিরিলেস।
ক্লারেন্স

11

এটি একটি পুরানো পোস্ট, তবে লোকেরা কিছুটা সময় সাশ্রয় করার জন্য যদি আপনি এখনই এখানে পৌঁছে যান আমার মতো, আমি আপনাকে পরামর্শ দিচ্ছি কোডহলো .ফিডার্ডার প্যাকেজটি যা আরএসএস সংস্করণের বিস্তৃত পরিসরকে সমর্থন করে, ব্যবহার করা সহজ এবং আরও শক্তিশালী বলে মনে হচ্ছে । https://github.com/codehollow/FeedReader



3

এটা ব্যবহার কর :

private string GetAlbumRSS(SyndicationItem album)
    {

        string url = "";
        foreach (SyndicationElementExtension ext in album.ElementExtensions)
            if (ext.OuterName == "itemRSS") url = ext.GetObject<string>();
        return (url);

    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string albumRSS;
        string url = "http://www.SomeSite.com/rss‎";
        XmlReader r = XmlReader.Create(url);
        SyndicationFeed albums = SyndicationFeed.Load(r);
        r.Close();
        foreach (SyndicationItem album in albums.Items)
        {

            cell.InnerHtml = cell.InnerHtml +string.Format("<br \'><a href='{0}'>{1}</a>", album.Links[0].Uri, album.Title.Text);
            albumRSS = GetAlbumRSS(album);

        }



    }

0

আপডেট: এটি কেবল ইউডাব্লুপি - উইন্ডোজ কমিউনিটি টুলকিট সহ সমর্থন করে

এখন অনেক সহজ উপায় আছে। আপনি আরএসপি পার্সার ক্লাসটি ব্যবহার করতে পারেন । নমুনা কোড নীচে দেওয়া হয়েছে।

public async void ParseRSS()
{
    string feed = null;

    using (var client = new HttpClient())
    {
        try
        {
            feed = await client.GetStringAsync("https://visualstudiomagazine.com/rss-feeds/news.aspx");
        }
        catch { }
    }

    if (feed != null)
    {
        var parser = new RssParser();
        var rss = parser.Parse(feed);

        foreach (var element in rss)
        {
            Console.WriteLine($"Title: {element.Title}");
            Console.WriteLine($"Summary: {element.Summary}");
        }
    }
}

অন্য-ইউ-ডাব্লুপি-র জন্য System.ServiceModel.Syndicationঅন্যদের পরামর্শ অনুসারে নেমস্পেস থেকে সিন্ডিকেশনটি ব্যবহার করুন ।

public static IEnumerable <FeedItem> GetLatestFivePosts() {
    var reader = XmlReader.Create("https://sibeeshpassion.com/feed/");
    var feed = SyndicationFeed.Load(reader);
    reader.Close();
    return (from itm in feed.Items select new FeedItem {
        Title = itm.Title.Text, Link = itm.Id
    }).ToList().Take(5);
}

public class FeedItem {
    public string Title {
        get;
        set;
    }
    public string Link {
        get;
        set;
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.