RSS Feed Reader + XmlDataSource + ListView 使用方法 (Search Engine Result 款式)
WebForm6.aspx |
<br /> <asp:Label ID="Label2" runat="server" Text="Search Result:" Font-Bold="True" /> <asp:ListView ID="ListView1" runat="server" ViewStateMode="Disabled"> <ItemTemplate> <table width="600" cellpadding="0" cellspacing="0"><tr><td> <br /> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("URL") %>' Text='<%# Eval("Title") %>' Enabled="True" Target="_blank" /><br /> <asp:Label ID="Label1" runat="server" Text='<%# Eval("Description") %>' /> </td></tr></table> </ItemTemplate> </asp:ListView> <br /> |
WebForm6.aspx.cs |
using System; using System.Web.UI.WebControls; using System.Data; using System.Xml; namespace WebApplication9 { public partial class WebForm6 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ListView1.DataSource = ReturnNodeList("http://www.zdnet.com.tw/rss/news_webapps.htm").Tables[0]; ListView1.DataBind(); } public DataSet ReturnNodeList(String FeedURL) { XmlDataSource XmlDataSource1 = new XmlDataSource(); XmlDataSource1.DataFile = FeedURL; XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument(); XmlNodeList nodelist = xmlDoc.SelectNodes("/rss/channel/item"); DataTable dt = new DataTable(); DataSet ds = new DataSet(); dt.Columns.Add("Title"); dt.Columns.Add("URL"); dt.Columns.Add("Description"); String Title; String Description; String URL; for (int i = 0; i < nodelist.Count; i++) { Title = nodelist[i].SelectSingleNode("title").InnerText; URL = nodelist[i].SelectSingleNode("link").InnerText; Description = nodelist[i].SelectSingleNode("description").InnerText; if (Description.Length > 60) { Description = Description.Substring(0, 60) + " ……"; } dt.Rows.Add(Title, URL, Description); } ds.Tables.Add(dt); return ds; } } } |