我正在使用.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中,那么我怎么能感觉到这两列的网格?
提前致谢
答案 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。