我的 Orchard CMS 实施中的 RSS 使用者 (Vandelay Industries RemoteRSS) 中有以下代码:
@using System.Xml.Linq
@{
var feed = Model.Feed as XElement;
}
<ul>
@foreach(var item in feed
.Element("channel")
.Elements("item")
.Take((int)Model.ItemsToDisplay))
{
<li>@T(item.Element("description").Value)</li>
}
</ul>
我使用的 RSS 提要来自 Pinterest,它将图像、链接和简短描述全部捆绑在提要的“描述”元素内。
<description><a href="/pin/215609900882251703/"><img src="http://media-cache-ec2.pinterest.com/upload/88664686384961121_UIyVRN8A_b.jpg"></a>How to install Orchard CMS on IIS Server</description>
我的问题是我不需要文本位,而且我还需要在“href=”链接前面加上“http://www.pinterest.com”前缀。
我已经成功地用我的初学者技能编辑了原始代码,基本上将图像显示为仅相对的链接,从而本地指向我的服务器。这些图像后面还有简短的描述。
总而言之,我需要一种方法为所有链接添加“http://pinterest.com”前缀,然后删除图像/链接后面的费用文本。
您可能应该使用 http://htmlagilitypack.codeplex.com/ 之类的内容解析描述,然后调整它以添加前缀。或者,您可以学习正则表达式,而无需使用库。然而可能有点棘手并且容易出错。