Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 3 của 3
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cách lấy RSS Của nhiều website với tốc độ nhanh?

    Tình hình là mình đang làm 1 app lấy RSS từ nhiều trang web cùng một lúc. Hiện giờ mình đã hoàn thành code để lấy RSS của 1 trang web, khi chạy thử trên thiết bị thật thì mình thấy như sau:
    1. Phải download hết toàn bộ RSS xong thì app mới hiển thị ra được, tức là ví dụ tờ báo có 1000 tin thì phải down hết 1000 tin rồi mới hiển thị lên cho người dùng đc, có cách nào lấy được tin nào trước thì hiện tin đó ko?
    2. Làm sao lập trình đa luồng để lấy RSS của nhiều web cùng lúc được?

    - - - Nội dung đã được cập nhật ngày 25-09-2014 lúc 05:42 PM - - -

    cho mình thắc mắc tiếp 1 câu nữa, code mình là như sau:
    Mã:
        public MainPage()
            {
                InitializeComponent();
    
    
                WebClient RSSClient = new WebClient();
                RSSClient.DownloadStringAsync(new Uri("http://www.imdb.com/movies-coming-soon/#Oct24"));       
                RSSClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(RSSClient_DownLoadStringCompleted);
    
            }
    đây là hàm RSSClient_DownLoadStringCompleted
    Mã:
            void RSSClient_DownLoadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
            {
                string strResponse = "";
    
                strResponse = e.Result;       
              
                HtmlDocument htmlDocument = new HtmlDocument();
                htmlDocument.OptionFixNestedTags = true;
                htmlDocument.LoadHtml(strResponse);
    
                List<movie> movies = new List<movie>();
                foreach (var div in htmlDocument.DocumentNode.SelectNodes("//div[starts-with(@class, 'list_item')]"))
                {
                    movie newMovie = new movie();
                    newMovie.Cover = div.SelectSingleNode(".//div[@               newMovie.Title = div.SelectSingleNode(".//h4[@itemprop='name']").InnerText.Trim();
                    newMovie.Summary = div.SelectSingleNode(".//div[@               movies.Add(newMovie);
                    lstMovies.Items.Add(newMovie);
           
            {
         }
        }
    Cho mình hỏi là hàm DownloadStringAsync() chỉ download phần html code của web hay là nó down luôn cả những image có trên trang web vậy?
    vì khi mình debug thì thấy phần text và image hiển thị ra cùng 1 lúc, nhưng rõ ràng image nặng và nhiều hơn thì đáng lẽ phải hiện ra sau chứ nhỉ?
    ai biết giúp nhé.

  2. #2
    nó dowload hết những gì mà url kia trả về bạn ạ. bạn đang tính làm 1 app tin tổng hợp chứ gì?

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    đáng ra bạn phải đọc rss xml rồi chuyển thể thành list object. sau đó bind giao diện chứ nhỉ. chứ rss mà trả về html thì chịu. chỉ có dowload all string html rồi bóc tách dữ liệu.
    mình đang làm 8.1. có gì hỏi mình.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •