如何在datagrid中填充RSS feed?

时间:2009-04-18 17:30:11

标签: c# asp.net rss

我正在使用.net c#,我想用rss feed填充datagrid。

问题是

当我将rss返回到数据集时,我得到了多个存储不同数据的表格。

表示我想用“标题”和“图片”填充网格,这是我的代码示例

protected void Button1_Click(object sender, System.EventArgs e)
{
   XmlTextReader reader = new XmlTextReader(txtUrl.Text); 
   DataSet ds = new DataSet();
   ds.ReadXml(reader);
   myDataGrid.DataSource = ds.Tables[2] ; 
   myDataGrid.DataBind(); 
}

有关标题和描述以及发布日期的所有详细信息都位于表​​#2中,相关图像和图像相关信息的大小存储在表#3中,那么我怎么能感觉到这两列的网格?

提前致谢

2 个答案:

答案 0 :(得分:1)

我建议你试试RSS Tookit。它是开源的,可以很好地处理RSS提要。您可以轻松绑定到这样的RSS源:

<ast:RssDataSource id="RssDataSource1" runat="server" maxitems="5" url="http://news.google.com/?output=atom"></ast:RssDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="RssDataSource1">
  <Columns>
    <asp:HyperLinkField DataNavigateUrlFields="link" DataTextField="link" HeaderText="Link"/>
    <asp:BoundField DataField="title" HeaderText="Title" SortExpression="title" />
  </Columns>
</asp:GridView>

摘自this page

答案 1 :(得分:1)

或者,您可以使用内置的 XmlDataSource

<asp:XmlDataSource id="XmlDataSource1" runat="server" XPath="/channel/item" DataFile="rssFeed.xml" />

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XmlDataSource1">
  <Columns>
    <asp:BoundField DataField="title" HeaderText="Title" SortExpression="title" />
    <asp:BoundField DataField="description" HeaderText="Description" />
  </Columns>
</asp:GridView>

我知道我给出的示例是GridView,但我认为同样的原则适用于DataGrids。 XPath表达式假定为RSS 2.0。