我希望脚本显示最多26个字母,如果还有更多我想要它(...)< - 这样你就可以看到链接中有更多字母。
首先,我为其他包含变量的网站添加了一些脚本来执行此操作,但它在RSS中无效:
{
temp.Add(titel);
count++;
string titel_kort = titel;
if (titel.Length > 26)
{
titel_kort = titel.Substring(0, 26) + "...";
}
}
这是我要整合的脚本:
@using System.Xml.XPath;
@using System.Xml;
@{
try
{
XmlTextReader udBrudRSS = new XmlTextReader("http://tidende.dk/rss.aspx");
XmlDocument doc = new XmlDocument();
doc.Load(udBrudRSS);
XmlNodeList rssItems = doc.SelectNodes("//item");
var count = 0;
foreach (XmlNode node in rssItems )
{
count++;
if (count > 3) { break; }
<div class="nyhedlink"><a href="@node["link"].InnerText" target="_blank">- @node["title"].InnerText</a></div>
}
}
catch {}
}
答案 0 :(得分:0)
你可以这样:
using (var webclient = new WebClient())
{
var data = webclient.DownloadData("http://tidende.dk/rss.aspx");
var oReader = new XmlTextReader(new MemoryStream(data));
var xml = XDocument.Load(oReader);
var values = xml.XPathSelectElements("//item").Take(3).Select(p => new
{
Link = p.XPathSelectElement("//link").Value,
Title = (p.XPathSelectElement("./title").Value.Length > 26) ?
p.XPathSelectElement("./title").Value.Substring(0, 26).Trim() + "..." :
p.XPathSelectElement("./title").Value.Trim()
});
foreach (var item in values)
{
<div class="nyhedlink"><a href="@item.Link" target="_blank">- @item.Title</a></div>
}
}
有时最好使用WebClient
来提出请求,而不是XmlTextReader
查看此question以获得更好的解释。