最大长度或其他点 - 我应该怎么写或者应该写什么?

时间:2014-05-06 17:33:26

标签: html rss html-agility-pack

我希望脚本显示最多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 {}
}

1 个答案:

答案 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以获得更好的解释。

相关问题