RSS Feed XMLDataSource过滤RSS项目

时间:2011-01-09 17:03:22

标签: c# asp.net xml rss

如果在XMLDataSource中使用标准RSS提要,那么过滤RSS提要以仅显示RSS提要项描述包含特定术语的项目的最佳方法是什么?

例如,我希望过滤以下RSS提要,其中描述包含某个团队名称“利物浦”

http://pipes.yahoo.com/pipes/pipe.run?_id=9dae054b43e8ded5a10a659c39c72f49&_render=rss

我设置XML数据源的代码如下:

 HomeDataSource.DataFile = "http://pipes.yahoo.com/pipes/pipe.run?_id=9dae054b43e8ded5a10a659c39c72f49&_render=rss";
        HomeDataSource.XPath = "rss/channel/item";
        HomeListView.DataSourceID = "HomeDataSource";
        HomeListView.DataBind();

使用以下源代码显示上述代码的输出:

 <asp:ListView ID="HomeListView" runat="server">
                <LayoutTemplate>
                    <ul>
                        <asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
                    </ul>
                </LayoutTemplate>
                <ItemTemplate>
                    <li><a target="_blank" href="<%#XPath("link")%>">
                        <%#XPath("title")%></a>
                    </li>
                </ItemTemplate>
            </asp:ListView>

非常感谢您提出的任何建议。

1 个答案:

答案 0 :(得分:0)

您将面临的问题是不同的Feed类型,Atom,RSS 1.0 / 2.0等,对某些常见字段使用不同的名称。您可以创建一个自定义DataSource控件来公开System.ServiceModel.Syndication SyndicationFeed对象,以便绑定或读取后面代码中的feed,并将SyndicationFeed或SyndicationFeed.Items绑定为ListViews DataSource。