我正在制作iphone的应用程序,我想在下面的xml中显示当前温度和天气图像: http://xml.weather.yahoo.com/forecastrss/UKXX0085_c.xml
我能够对xml进行解析并读取描述选项卡数据。但是我怎样才能进一步解析它以获取温度和天气图像呢?
答案 0 :(得分:0)
温度为yweather:condition
。查看NSDictionary
attributes
返回的didStartElement
。
温度的度量单位为yweather:units
(同样在attributes
词典中)。
图片链接包含在description
中。您应该使用HTML解析器,如How to Parse HTML on iOS中所述,或者(gasp)您可以使用正则表达式:
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(<img\\s[\\s\\S]*?src\\s*?=\\s*?['\"](.*?)['\"][\\s\\S]*?>)+?"
options:NSRegularExpressionCaseInsensitive
error:&error];
NSString *imageUrlString = nil;
NSTextCheckingResult *match = [regex firstMatchInString:htmlString options:0 range:NSMakeRange(0, [htmlString length])];
if (match)
imageUrlString = [htmlString substringWithRange:[match rangeAtIndex:2]];