2011-01-09 27 views
1

XMLDataSourceで標準のRSSフィードが使用されている場合、RSSフィード項目の説明に特定の用語が含まれているアイテムのみを表示するRSSフィードをフィルタリングする最良の方法は何ですか?私は説明が特定のチーム名が含まれている以下のRSSフィードをフィルタリングしたいRSSフィードXMLDataSourceフィルタ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> 

事前にアドバイスをいただき、ありがとうございます。

答えて

0

あなたが直面する問題は、異なるフィードタイプ、Atom、RSS 1.0/2.0などであり、特定の共通フィールドに異なる名前を使用します。独自のDataSourceコントロールを作成して、System.ServiceModel.Syndication SyndicationFeedオブジェクトを公開してコードをバインディングするか、コードの背後にあるフィードを読み取り、SyndicationFeedまたはSyndicationFeed.ItemsをListViews DataSourceとしてバインドできます。