Разбор Yahoo Погода RSS Feed

Мне нужно проанализировать RSS-канал Yahoo Weather для определенного места, например, например, http://weather.yahooapis.com/forecastrss?w=44418&u=c, чтобы получить высокую, низкую текущую температуру и изображение погоды, например. изображение солнца и облаков, на текущий день.

Я хотел бы сделать это в Какао (Mac).

Любая помощь будет оценена, спасибо!

1 ответ

Решение

У вас есть два способа, как вы могли бы решить это:

Используйте обертку

Если вы не хотите решить проблему простым способом, вы можете использовать решение, которое кто-то уже запрограммировал для вас, например, эту простую оболочку. Проблема в том, что эта оболочка просто извлекает такие базовые вещи, как температура и т. Д. Если вам нужна дополнительная информация, вам придется расширять код, но я думаю, что это не должно быть большой проблемой.

Вот пример использования:

#import "SCYahooWeatherParser.h"
// ...
SCYahooWeatherParser *parser = [[SCYahooWeatherParser alloc] initWithWOEID:woeid weatherUnit: SCWeatherUnitCelcius];
SCYahooWeather *result = [parser parse];
// now you can handle the parameters of result by yourself.

Используйте парсер XML

Если ты не хочешь, ты можешь решить это также трудным, но более чистым способом. Вы можете скачать XML со своих серверов и проанализировать его с помощью XML Parser. Для этого я рекомендую сначала прочитать документацию API погоды Yahoo. Когда вы знаете, что делаете, я рекомендую вам использовать TouchXML для анализа XML-данных, потому что это очень хороший анализатор XML, который также используется многими людьми.

Другие вопросы по тегам