2016-04-06 10 views
1

Ich versuche ein Bild aus einem RSS-Feed anzuzeigen. Im Moment bin ich die Anzeige der Titel, Datum und Beschreibung durch den Code mit:Ein Bild aus einem RSS-Feed anzeigen Asp.Net

<asp:DataList ID="DataList1" runat="server" DataSourceID="XmlDataSource1"> 
<ItemTemplate> 
    <div class="jumbotron"> 
    <h2><%# XPath("title") %></h2><br /> 
    <h3><%# XPath("pubDate") %></h3><br /> 
    <h3><%# XPath("description") %></h3><br /> 
    <a class ="btn btn-primary btn-lg" Target="_blank" href="<%# XPath("link") %>">Read More On This Story</a> 
     </div> 
    <hr /> 
</ItemTemplate> 

<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
DataFile="http://feeds.bbci.co.uk/news/education/rss.xml" 
XPath="rss/channel/item"> 

Nachdem ich 'das Bild, ich bin auf der Suche jede Geschichte angezeigt werden innerhalb der Seite selbst . Im Moment öffnet es einen neuen Tab. Ich suche möglicherweise einen iframe oder ein Modal zu verwenden. Danke im Voraus!

+0

Ich sehe, dass Sie Link innerhalb eines Tags verwendet haben. Es gibt nichts im Zusammenhang mit der Anzeige von Bildern. Wie Sie in Ihrem Post sehen, suchen Sie nach Bild von RSS, richtig? Können Sie bitte versuchen, img Element zu verwenden und zu versuchen. –

Antwort

0

ist die komplette Lösung Bilder von Ihrem RSS-Feed zeigt:

<asp:DataList ID="DataList1" runat="server" DataSourceID="XmlDataSource1"> 
    <ItemTemplate> 
    <div class="jumbotron"> 
    <h2><%# XPath("title") %></h2> 
    <br /> 
    <h3><%# XPath("pubDate") %></h3> 
    <br /> 
    <h3><%# XPath("description") %></h3> 
    <br /> 
    <asp:Repeater runat="server" ID="_subitemsRepeater" 
     EnableViewState="false" 
     DataSource='<%# XPathSelect("media:thumbnail", XmlNamespaceManager) %>'> 
     <ItemTemplate> 
     <img src="<%# ((System.Xml.XmlNode)Container.DataItem).Attributes["url"].Value %>" /> 
     <br /> 
     </ItemTemplate> 
     </asp:Repeater> 
     <br /> 
     <a class="btn btn-primary btn-lg" target="_blank" href="<%# XPath("link") %>">Read More On This Story</a> 
     </div> 
     <hr /> 
</ItemTemplate> 
</asp:DataList> 
<asp:XmlDataSource ID="XmlDataSource1" runat="server" 
    DataFile="http://feeds.bbci.co.uk/news/education/rss.xml" 
    XPath="rss/channel/item" /> 

In Code hinter:

public partial class _Default : Page 
{ 
    protected XmlNamespaceManager XmlNamespaceManager { get; set; } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
    XmlNamespaceManager = new XmlNamespaceManager(XmlDataSource1.GetXmlDocument().NameTable); 
    XmlNamespaceManager.AddNamespace("media", "http://search.yahoo.com/mrss/"); 
    } 

} 

Wenn Ihr Feed Sie ersetzen nicht mehrere Bilder haben Repeater mit einer Dose Einzelbild-Tag wie folgt:

<img src="<%# XPath("media:thumbnail/@url", XmlNamespaceManager) %>" />