+ Trả lời chủ đề
Hiện kết quả từ 1 tới 2 của 2

Chủ đề: Xây dựng ứng dụng đọc tin RSS với ASP.NET

  1. #1
    Status : Administrator đang ẩn
    Tham gia ngày : Aug 2011
    Đến từ : Ninh Kiều - Cần Thơ
    Bài gửi : 1.450

    Xây dựng ứng dụng đọc tin RSS với ASP.NET

    RSS là gì ?
    RSS Feed là một tài liệu định dạng XML cho chúng ta có thể đọc nội dung cập nhật thường xuyên từ một Website, báo điện tử, blog, diễn đàn ... Nó là một trong những tính năng web 2.0 cho phép người dùng đọc các thông tin có liên quan của có sẵn trên Internet. Tất cả chúng ta cần làm là để có được các URL nguồn cấp dữ liệu RSS.

    Cấu trúc của chúng như sau:
    PHP Code:
    <?xml version="1.0" encoding="utf-8"?>
    <rss version="2.0">
      <channel>
        <title>Trang chủ - VnExpress.net</title>
        <description>Trang chủ - VnExpress - Tờ báo điện tử có nhiều độc giả nhất Việt Nam</description>
        <link>http://vnexpress.net/GL/Home/</link>
        <copyright>VnExpress.net</copyright>
        <generator>VnExpress.net:http://vnexpress.net/RSS</generator>
        <pubDate>Thu, 09 Sep 2010 17:01:11 GMT</pubDate>
        <lastBuildDate>Thu, 09 Sep 2010 17:01:11 GMT</lastBuildDate>
        <item>
                <title><![CDATA[ Nguyên bộ trưởng Y tế: 'Không có tiêu cực, tư lợi khi mua Tamiflu' ]]></title>
            <description><![CDATA[ Bày tỏ quan điểm với VnExpress về kết luận mới đây của Thanh tra Chính phủ, nguyên bộ trưởng Y tế Trần Thị Trung Chiến khẳng định, giá thuốc mà VN mua về không đắt, và việc nhập một lượng lớn thuốc trong thời gian ngắn là phòng xa rất cần thiết.<BR />> <A  href="/GL/Doi-song/2010/09/3BA200E4/" DESIGNTIMEURL="/GL/Doi-song/2010/09/3BA200E4/">Hàng trăm tỷ đồng lãng phí trong vụ mua thuốc Tamiflu</A> ]]></description>
            <link>http://vnexpress.net/GL/Doi-song/2010/09/3BA2030B/</link>
            <pubDate>Thu, 09 Sep 2010 14:10:57 GMT</pubDate>
        </item>
      </channel>
    </rss>
    Code:

    B1. Sau khi tạo xong Project các bạn vào file Default.aspx kéo thả một DataList như sau:
    PHP Code:
    <asp:DataList ID="dlRSS" runat="server" Width="100%">
        <
    ItemTemplate>     
            <
    div class="RSSTitle"><asp:HyperLink ID="TitleLink" runat="server" Text='<%# Eval("title") %>' NavigateUrl='<%# Eval("link") %>'/></div>
            <
    div class="RSSSubtitle"><asp:Label ID="SubtitleLabel" runat="server" Text='<%# Eval("description") %>' /></div>
            <
    div class="RSSInfo">
                
    posted on <asp:Label ID="DateRSSedLabel" runat="server" Text='<%# Eval("pubDate", "{0:d} @ {0:t}") %>' />
            </
    div>        
        </
    ItemTemplate>
    </
    asp:DataList
    ở đây chúng ta có LinkTitle (link của bài viết) SubTitleLabel (nội dung ngắn của bài viết) và cuối cùng là Label DateRSSedLabel dùng để đưa ra ngày tháng bài viết được update

    B2: bạn ấn F7 để vào code behide của trang default.aspx này

    chúng ta sẽ tạo ra 1 lớp XmlTextReader mới nhận vào tham số là 1 Url (ở đây là đường link đến file RSS)

    sau đó chúng ta sẽ tạo ra DataSet để hứng lấy dữ liệu từ lớp XmlTextReader này

    PHP Code:
    protected void Page_Load(object senderEventArgs e)
    {
        
    XmlTextReader reader null;
     
        try
        {
            
    reader = new XmlTextReader("http://dev.meotom.net/Resource/RSS/Trang-Chu.xml");
            
    DataSet ds = new DataSet();
            
    ds.ReadXml(reader);
            
    dlRSS.DataSource ds.Tables["item"];
            
    dlRSS.DataBind();
        }
        catch (
    Exception ex)
        {
            
    Response.Write(ex.Message);
        }
        
    finally
        
    {
            
    reader.Close();
        }

    Ngoài ra để cho đẹp hơn chúng ta viết StyleSheet cho các class .RSSTitle .RSSSubtitle và .RSSInfo

    PHP Code:
    code
    .RSSTitle
    {
        
    font-size:20px;
        
    line-height:26px;
        
    padding-top:5px;
        
    padding-bottom:5px;
    }
    .
    RSSTitle a
    {
        
    color:#3B5998;
        
    text-decoration:none;
    }
    .
    RSSTitle a:hover
    {
        
    color:#000;
    }
    .
    RSSSubtitle
    {
        
    line-height:20px;
        
    padding-bottom:5px;
    }
    .
    RSSInfo
    {
        
    color:#666;
        
    font-size:13px;
        
    padding-top:2px;


  2. #2
    Status : Administrator đang ẩn
    Tham gia ngày : Aug 2011
    Đến từ : Ninh Kiều - Cần Thơ
    Bài gửi : 1.450

    Re: Xây dựng ứng dụng đọc tin RSS với ASP.NET

    Quay lại B2 một chút: Ngoài cách sử dụng XmlTextReader để đọc RSS các bạn cũng có thể dùng LINQ to XML để đọc hơn nữa khi sử dụng LINQ bạn có thể dễ dàng thao tác sử lý số lượng Item được hiển thị

    B2.1 bạn using thêm namespace System.Xml.Linq

    using System.Xml.Linq;

    B2.2 trong sự kiện Page_Load các bạn viết như sau:

    Mã:
    protected void Page_Load(object sender, EventArgs e)
    {
        XDocument feedXml = XDocument.Load("http://vnexpress.net/RSS/GL/trang-chu.rss");
     
        var feeds = from feed in feedXml.Descendants("item")
                    select new
                    {
                        title = feed.Element("title").Value,
                        description = feed.Element("description").Value,
                        link = feed.Element("link").Value,
                        pubDate = feed.Element("pubDate").Value
                    };
     
        dlRSS.DataSource = feeds.Take(feeds.Count());
        dlRSS.DataBind();
    }
    tại đây feeds đóng vai trò như 1 DataSource cung cấp dữ liệu cho DataList, mình có sử dụng thêm Take để lấy giới hạn số lượng bản ghi

    vd với:

    feeds.Take(10); //bạn lấy ra 10 bản ghi đầu tiên

    feeds.Skip(5).Take(10); //lấy ra 10 bản ghi bắt đầu từ bản ghi thứ 5

+ Trả lời chủ đề

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
Trang Chủ Việc Làm Gia Sư Gia sư