如何在xml的描述中分离img标签(RSS FEED)

时间:2013-03-27 00:09:19

标签: c# xml xml-parsing rss linq-to-xml

我无法从RSS Feed中检索图像,例如,在描述中。

我使用以下代码检索信息。

 var rssFeed = from el in doc.Elements("rss").Elements("channel").Elements("item")
                 orderby datetime(el.Element("pubDate").Value) descending
             select new
                 {
                     Title = el.Element("title").Value,
                     Link = el.Element("link").Value,
                     Description =el.Element("description").Value,
                     PubDate = datetime(el.Element("pubDate").Value),

                 };

显示说明时,正在显示文本和图像以进行收集 我想在描述中分隔文本和图像。你能告诉我怎么办吗?

使用RSS Feed:http://news.yahoo.com/rss/

1 个答案:

答案 0 :(得分:1)

   var rssFeed = from el in doc.Elements("rss").Elements("channel").Elements("item")

                 orderby datetime(el.Element("pubDate").Value) descending

                 select new
                 {
                     Title = el.Element("title").Value,
                     Link = el.Element("link").Value,
                     Description =replace_other(el.Element("description").Value),
                     Image= regex(el.Element("description").Value),
                     PubDate = datetime(el.Element("pubDate").Value),

                 };

   lvFeed.DataSource = rssFeed;
   lvFeed.DataBind(); 

}

 protected string regex(string source)
  {
   var reg1 = new Regex("src=(?:\"|\')?(?<imgSrc>[^>]*[^/].(?:jpg|bmp|gif|png))   
       (?:\"|\')?");
   var match1 = reg1.Match(source);
   if (match1.Success)
   {
       Uri UrlImage = new Uri(match1.Groups["imgSrc"].Value, UriKind.Absolute);
       return UrlImage.ToString();
   }
   else
   {

       return null;
   }

}