我正在尝试从RSS源显示图像。目前,我正在使用以下代码显示标题,日期和说明:
<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">
添加此图像后,我希望在页面内显示每个故事。目前,它正在打开一个新标签。我希望可能使用iframe或模态。提前谢谢!
答案 0 :(得分:0)
以下是显示来自RSS Feed的图片的完整解决方案:
<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" />
在代码背后:
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/");
}
}
如果您的Feed没有多张图片,则可以使用以下单个图片代码替换转发器:
<img src="<%# XPath("media:thumbnail/@url", XmlNamespaceManager) %>" />