Как заполнить RSS-каналы в датагрид? - PullRequest
1 голос
/ 18 апреля 2009

Я использую .net c # и хочу заполнить сетку данных с помощью RSS-ленты.

Проблема

Когда я возвращаю 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 ]

1 голос
/ 19 апреля 2009

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

1 голос
/ 18 апреля 2009

Рекомендую попробовать 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>

Источник взят из этой страницы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...