I have been using WorldWeatherOnline for month now and I find it better then Yahoo Weather.
It also works all over the globe and is free to use. Said that you need to register for free to get an API key.
Without that API key you will not be able to get any data.
On their website is also a very good documentation and explanation what what is and what what does.
The real advantage is that you only need the latitude and longitude to get the weather and the forecast for the next 4 days, unlike Yahoo where you need 3 urls to get the same info.
This is the request javascript.

The rest is to fit the css style to it and refer the ID's to the body tag.
I have attached the js files and also the weather conditons icons.

EDIT
OOPS!
Forgot that I had missed out a tiny alteration. The update normally comes in AM/PM format but I rearranged it to display 24 hour format, hence the update6 further down the WWO.js
Just replace the update = result.data.current_condition[0].observation_time;
with

WWO has restructured its API last month, they send me an email to apply for a new API key and their url has also changed (new url already in above code). Old keys, like yours King!, will still work until August 2013.
There is a limit with a free API key and that is 500 request per hour, so if you intend to refresh your weather every 7 seconds you might be in trouble
Just browse through their site, the info they offer is just great, they even create the request url for you, you just have to pick which service you want, what features you want and then they show you the url. That is service!
Apparently they also do a location request from latitude and longitude, but have not tried that myself as I still use Google Maps for that, but will give it a go. Yahoo does not know my village name, Google does, will be interesting to see if WWO knows it.

The location response file gives many locations, not sure how to pick the right one. If you use the location request file in your computer browser you'll see the JSON response file.
It actually knows my village, but it is the third one it listed.

The location response file gives many locations, not sure how to pick the right one. If you use the location request file in your computer browser you'll see the JSON response file.
It actually knows my village, but it is the third one it listed.

For me, if i try the weather API, i don't find a close location (all are very very far...). If i try the search API with only one result, same thing. If i increase the number of results, my location is found (visible at the top of the JSON, areaname), but all others informations are inaccurate (same as weather API).

Sad, but looks like it.
Basically delete any javascript that has anything to do with Yahoo weather, there should be plenty of them, keep all the css styles as you can reuse them, e.g. Yahoo's "desc" is WWO's "weatherdesc", and you want it in the same place, same font, same size, same font color.
Above's javascripts are basically all you need for a basic conversion. However if your theme/iWidget uses fancy stuff like moonphases etc then of course you have to leave those in, but if they depend on data it got from Yahoo, e.g. sunrise, sunset then you have find alternatives.
I have played with a javascript that calculates the sunset and sunrise times from your latitude and longitude and the current date. I used it to switch between day and night time background.

Actually this is the reason why I am posting.
It is the Google location name javascript which suddenly started to work (never got it going in iOS 5.1.1), it will give you the address of your latitude and longitude.
My house number is a bit off the ones Google gives me, but checking on Google Maps it is spot on within a few inches, but still the same "wrong" house number.
It might be useful to get a much much better alternative to Yahoo location and to WWO location.

The location response file gives many locations, not sure how to pick the right one. If you use the location request file in your computer browser you'll see the JSON response file.
It actually knows my village, but it is the third one it listed.

Those different locations - are all 'weather stations' near one's home - or lat/long entered.. Most Weather API services I've been reading about see reverse geo-coding as a function of fidning weather stations locations near the coordinates entered. Google, of course would be different, in that it's not a weather service but a location service. Yahoo and WWO and WU are all weather services. So they think of 'location' as a function of where you're going to get your WEATHER info from - which then are weather station locations.

The reason I've not considered Google as a final solution for getting location data - is that there's no conistency in their DATA RESULT output fields.. One day 'field 1' will give you a township or city and the next location field 1 will give you some other location. There's no consistency to what the output data fields will give you. Only the feed from Yahoo has consistent output fields for location..

Bing, Google, WWO are all insonsistent. Weather Underground is VERY accurate for city - but ONLY city.. There is no other data in the response file for county or location 2. That's a shame.. Still looking at other weather/location API's out there..