RSS Feed Reader + XmlDataSource + GridView + ItemTemplate 使用方法
Default.aspx |
<asp:XmlDataSource ID="XmlDataSource1" runat="server" /> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" Width="800"> <Columns> <asp:HyperLinkField HeaderText="Title" DataTextField = "Title" DataNavigateUrlFields="URL" DataNavigateUrlFormatString="{0}" /> <asp:TemplateField HeaderText="Description"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Eval("Description") %>' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> |
Default.aspx.cs |
using System.Web.UI.WebControls; using System.Xml; using System.Data; private void RSSReaderGridView(String FeedURL) { XmlDataSource1.DataFile = FeedURL; XmlDocument xmlDoc = XmlDataSource1.GetXmlDocument(); DataTable dt = new DataTable(); dt.Columns.Add("Title"); dt.Columns.Add("URL"); dt.Columns.Add("Description"); XmlNodeList nodelist = xmlDoc.SelectNodes("/rss/channel/item"); String title; String URL; String Description; 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; dt.Rows.Add(title, URL, Description); } GridView2.DataSource = dt; GridView2.DataBind(); } |