C# 将RSS提要加载到GridView';s数据源

C# 将RSS提要加载到GridView';s数据源,c#,xml,gridview,rss,datasource,C#,Xml,Gridview,Rss,Datasource,在我的页面上\u加载事件 DataSet oDs = new DataSet(); oDs.ReadXml("http://stackoverflow.com/feeds"); gvFeeds.DataSource = oDs.Tables[2]; gvFeeds.DataBind(); 这将填充GridView,如下所示 数据集包含8个数据表:提要、标题、链接、条目、排名、类别、作者、摘要 例如,DataTable[2]包含30个最新帖子的链接,如上所示 我想让GridView显示每条记

在我的页面上\u加载事件

DataSet oDs = new DataSet();
oDs.ReadXml("http://stackoverflow.com/feeds");
gvFeeds.DataSource = oDs.Tables[2];
gvFeeds.DataBind();
这将填充GridView,如下所示

数据集包含8个数据表:提要、标题、链接、条目、排名、类别、作者、摘要

例如,DataTable[2]包含30个最新帖子的链接,如上所示


我想让GridView显示每条记录的提要、标题、链接、条目、排名、类别、作者、摘要


但是,当我将enter数据集分配给数据源时,它只是填充GridView,就好像我已将DataTable[0]对象分配给它一样。。。作为父提要的标题信息。

您只能将GridView绑定到一个表。 例如,使用以下命令将绑定到“Link”表

但是,如果所有表共享相同的模式(可能性较小),则可以通过转储行并绑定来手动创建新的DataTable

这篇文章还描述了另外一个场景

不可能一次将来自不同表的数据合并到一个gridView

编辑:


请注意,如果所有的表都具有相同的模式(只有第一个列、第二列等),否则这是可能的。否则,这也只是显示记录的“链接”信息……不是所有的8个列都是feed、标题、链接、条目、排名等。哦,我的道歉。我以为您是在试图显示“链接”。。但是,除非所有这些表都具有相同的架构,否则我不确定您是否能够实现所要实现的目标。如果所有这些表都具有相同的架构,那么您可能需要在绑定之前将它们转储到一个临时表中。那么,有没有一种方法可以获取XML并使其与信息形成一个单独的数据表我需要?我如何才能最好地利用数据获得所需的最终结果?那么,有没有一种方法可以利用XML并使其利用我所需的信息形成一个数据表?我如何才能最好地利用数据获得所需的最终结果?
gvFeeds.DataSource = oDs;
gvFeeds.DataMember = "Link";
gvFeeds.DataBind();
        //Considering you have all the tables that share the same schema
        //i.e. All are having same column names and types

        //Create an In Memory DataTable
        DataTable consolidateTable = new DataTable("ConsolidatedTable");

        //Add columns with that is same across all of you tables
        consolidateTable.Columns.Add(new DataColumn("firstColumn"));
        consolidateTable.Columns.Add(new DataColumn("secondColumn"));
        //etc..

        //Now go through each record of each table
        foreach (DataTable dt in oDs.Tables)
        {
            foreach (DataRow row in dt.Rows)
            {
                consolidateTable.Rows.Add(row);
            }
        }

        //bind
        gvFeeds.DataSource = consolidateTable;
        gvFeeds.DataBind();