使用联合从RSS源获取图像

本文关键字:获取 图像 RSS | 更新日期: 2023-09-27 18:30:10

我正在构建一个Windows Phone应用程序,并使用SyndicationFeed读取RSS提要。如何从提要中获取图片?

我需要一个转换器吗(?),但我不知道里面会有什么。我看到有一个ImageUrl属性,我试着使用它,但没有成功。:(

图片需要与提要(预定义)一起按类别进行过滤。我知道如何过滤订阅源(慷慨的论坛成员帮助:)只是获取图像是个问题。

我使用MSDN示例作为背景:http://msdn.microsoft.com/en-us/library/hh487167(v=vs.92).aspx

我的订阅源:http://www.zimo.co/feed/


我会使用这个正则表达式从提要中获取图像:

Regex rg = new Regex(@"<img.*?src=""(.*?)""", RegexOptions.IgnoreCase);

但问题是如何实现它。所以我同时得到了提要和图片:(

这是我使用的代码:

private void UpdateFeedList(string feedXML)
    {
        StringReader stringReader = new StringReader(feedXML);
        XmlReader xmlReader = XmlReader.Create(stringReader);
        SyndicationFeed feed = SyndicationFeed.Load(xmlReader);

Regex rg = new Regex(@"<img.*?src=""(.*?)""", RegexOptions.IgnoreCase);

        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
ls_text.ItemsSource = feed.Items;

        });
    }

使用联合从RSS源获取图像

RSS规范中没有提供表示正在处理的<item>的奇异图像。如果您想要一个图像,可以尝试解析<content>元素,并从元素内容中提取一个或多个图像。

要从源中获取图像链接,您需要解析文本以获得文本中所有<img>标记的匹配。你可以试着用几种方法来做到这一点。您可以尝试对img标记进行RegEx匹配,也可以尝试将文本加载到XML文档中并对其进行解析。问题是,它不是完整的HTML,因此您可能需要对其进行一些修改(例如,如果内容还没有被<p>标记包围,则可能必须在内容周围放置一组封闭的标记。