2009-04-18 2 views
1

Я использую .net C#, и я хочу заполнить datagrid RSS-лентой.Как заполнить RSS-каналы в datagrid?

Проблема

Когда я вернуться RSS-канал, чтобы набор данных, то я получил несколько таблиц Wich хранящей diffrent данных.

Значит я хочу, чтобы заполнить сетку с «Заголовок» и «Изображение» Вот мой пример кода

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, так как я могу чувствовать сетку с этим двумя столбцами?

Заранее спасибо

ответ

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

Или вы могли бы просто использовать встроенный 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.

Смежные вопросы