如何从Yahoo天气预报XML文档获取图像URL?

Blios

我从yahoo天气中获取天气信息,并且能够从文档中解析温度信息,但在从<escription>元素中获取图像网址时遇到问题,

<description>
<![CDATA[
<img src="http://l.yimg.com/a/i/us/we/52/28.gif"/><br /> <b>Current Conditions:</b><br /> Mostly Cloudy, 61 F<BR /> <BR /><b>Forecast:</b><BR /> Thu - Showers. High: 66 Low: 48<br /> Fri - AM Light Rain. High: 52 Low: 37<br /> Sat - Partly Cloudy. High: 61 Low: 47<br /> Sun - AM Clouds/PM Sun. High
]]>
<![CDATA[
: 66 Low: 48<br /> Mon - PM Showers. High: 62 Low: 50<br /> <br /> <a href="http://us.rd.yahoo.com/dailynews/rss/weather/Hakuba_Station__JP/*http://weather.yahoo.com/forecast/JAXX0105_f.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> (provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/>
]]>
</description>

请不要说我是NSXMLParser用来解析MXL文档的。

Blios

基于@ haras.prasad的答案,我使用NSXMLParser委托解决了这个问题NSRegularExpression

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock {
    NSString *cdataString = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
    // Do extraction of image src here
    NSError* error;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(<img\\s[\\s\\S]*?src\\s*?=\\s*?['\"](.*?)['\"][\\s\\S]*?>)+?"
                                                                           options:NSRegularExpressionCaseInsensitive
                                                                             error:&error];

    NSString *imageUrlString = nil;
    NSTextCheckingResult *match = [regex firstMatchInString:cdataString options:0 range:NSMakeRange(0, [cdataString length])];
    if (match)
    {
        imageUrlString = [cdataString substringWithRange:[match rangeAtIndex:2]];

        self.iconUrl = imageUrlString;
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将结果拉出JSON数组并输入ColdFusion以获取7天天气预报

如何从PHAsset获取图像URL?是否可以使用PHAsset URL将图像保存到文档目录中?

如何使用PHP获取XML文档上的图像元素?

如何从openweathermap获取5天天气预报到我的uwp应用

获取天气预报数据以加载到amcharts数据加载器中

如何获取URL到Google文档图像

如何固定角度的循环天气预报

在JavaScript中获取天气预报的日期(7天)

在openweathermap上的5天天气预报没有提供预期结果

您如何从Azure Active Directory获取脚手架天气预报Api将接受的访问令牌?

如何解决类型错误无法读取天气预报项目中未定义的属性“ cityName”?

如何从Soap xml获取图像

Python从Wunderground JSON API获取单日天气预报

使用NOAA(国家气象局)进行每小时(每天3小时)天气预报

地下天气API预报

如何消除Open Weather Map API提供的JSON天气预报的歧义?

Schema.org用于天气预报

如何从XML文档获取对象?

使用ECDSA证书从URL获取xml文档

如何从 openweathermap API 的预报天气数组中获取描述字符串?

使用 PHP 和 simpleXML 解析 XML 天气预报数据

我正在从 API(OpenWeatherAPI)接收天气预报数据。我想将 UTC 时间转换为字符串。有任何想法吗?

缺少天气预报输出数据的 ConvNet

如何从 Yahoo API JSON 获取天气图标?

在天气预报 API 中,城市应该是参数还是 URI

如何使用weather api删除天气预报中的第一个天气

使用 Node js,如何使用 yahoo 天气 api 在单个请求中获取多个城市的天气提要

编辑 14 天天气预报 Excel VBA 以包括降水

获取天气预报 api javascript 时出现未定义的错误