之前在討論區幫人解一個問題
如何將xml轉到DataSet
就利用這個範例教大家如何做到呀..
asp.net(c#)RSStoGridview.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RSStoGridview.aspx.cs" Inherits="RSStoGridview" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>RSStoGridview</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Url:"></asp:Label> <asp:TextBox ID="txbUrl" runat="server" Width="300px"></asp:TextBox> <asp:Button ID="btnRSS" runat="server" OnClick="btnRSS_Click" Text="RSS" /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Vertical" ShowHeader="False"> <RowStyle BackColor="#F7F7DE" /> <Columns> <asp:TemplateField> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("link") %>' Text='<%# Eval("title") %>'></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> <FooterStyle BackColor="#CCCC99" /> <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" /> <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> </div> </form> </body> </html>
RSStoGridview.aspx.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Xml; using System.Data; public partial class RSStoGridview : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnRSS_Click(object sender, EventArgs e) { string url = this.txbUrl.Text; XmlDocument xmldoc = new XmlDocument(); //由Url載入RSS內容 xmldoc.Load(url); //選擇內容節點 XmlNodeList nodes = xmldoc.SelectNodes("rss/channel/item"); DataSet ds = new DataSet(); //將選出來的內容加入DataSet foreach (XmlNode node in nodes) { ds.ReadXml(new XmlNodeReader(node), XmlReadMode.Auto); } this.GridView1.DataSource = ds.Tables[0]; this.GridView1.DataBind(); } }
執行結果:
參考網址:http://topic.csdn.net/t/20051212/23/4455174.htmlhttp://www.blueshop.com.tw/board/show.asp?subcde=BRD20090316085937W1P&fumcde=FUM20041006161839LRJ
# re: [ASP.NET]利用GridView呈現RSS內容, Posted by WL on 2010/5/19 上午 09:13 回覆
感謝分享!