Cấp bậc tác giả:

DOTNET

Hướng dẫn lấy dữ liệu từ RSS Feed trong Asp.net

Được viết bởi webmaster ngày 03/02/2020 lúc 10:47 AM
Bài trước, giúp tạo RSS Feed để chia sẻ nội dung ra bên ngoài một cách công khai. Bài này sẽ hướng dẫn bạn cách lấy nội dung tin tức trên website có sử dụng RSS Feed, nó khá dễ dàng để lấy.
  • 0
  • 6511

Hướng dẫn lấy dữ liệu từ RSS Feed trong Asp.net

Bài trước, giúp tạo RSS Feed để chia sẻ nội dung ra bên ngoài một cách công khai. Bài này sẽ hướng dẫn bạn cách lấy nội dung tin tức trên website có sử dụng RSS Feed, nó khá dễ dàng để lấy.

Ví dụ tôi có link RSS Feed như sau: http://dotnet.edu.vn/Blogs/RSSChanel.aspx

Bước 1: Tạo Project Web mong muốn
Bước 2: Trong Code behind, tạo hàm sau sử dụng để đọc dữ liệu XAML
 public XElement ReadXmlFromCShrpCornerPage(string CsharpCornerUrl)    
        {    
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(CsharpCornerUrl);    
            WebResponse myResponse;    
            myResponse = myRequest.GetResponse();    
            XmlDocument _xmlDoc = new XmlDocument();    
            using (Stream responseStream = myResponse.GetResponseStream())    
            {    
                _xmlDoc.Load(responseStream);    
            }    
            return XElement.Load(new XmlNodeReader(_xmlDoc));    
        }
Bước 3: Sử dụng hàm trả về chuỗi mà XElement chứa để tạo ra chuỗi HTML
public string CshrpCornerLiveUpdateDiv(string CsharpCornerUrl)
        {
            StringBuilder sb = new StringBuilder();
            var dox = ReadXmlFromCShrpCornerPage(CsharpCornerUrl);
            //Description about page heading       
            var Headting = dox.Descendants("channel").Select(d =>
            new
            {
                Title = d.Element("title").Value,
                Description = d.Element("description").Value,
                Link = d.Element("link").Value,
            }).ToList();
            //list of daily updated item in c-corner       
            var UpdatedList = dox.Descendants("item").Select(d =>
                new
                {
                    Title = d.Element("title").Value,
                    Description = d.Element("description").Value,
                    Link = d.Element("link").Value
                }).ToList();

            foreach (var PageHeading in Headting)
            {
                sb.Append("<h2>" + PageHeading.Title + "</h2>");
            }

            //here change the conduction and increase the list of update   

            for (int i = 0; i < 5; i++)//UpdatedList.Count;    
            {
                sb.Append("" + UpdatedList[i].Title + "");
            }

            return sb.ToString();
        }
Nhớ tuỳ chỉnh CSS để phù hợp với việc hiển thị dữ liệu cho giao diện hiện tại của mình
Bước 4: Tạo một control cho HTML server bằng cách ở tại trang ASPX mà chúng ta đã tạo thêm dòng code này vào
<div id="CsharpBlog" runat ="server" > </div>    
Bước 5: Tại trang ASPX.CS, tại hàm Page load, thêm dòng load dữ liệu này vào
CsharpBlog.InnerHtml = CshrpCornerLiveUpdateDiv("http://dotnet.edu.vn/Blogs/RSSChanel.aspx");

Khi trang web chạy, nó sẽ hiển thị dữ liệu tại vị trí mà mình muốn hiển thị. Cách này thường được sử dụng như một API để chia sẻ cho cộng đồng nội dung mà mình muốn public.

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML