Without using the XML webpart and XSL you could use the Content Editor webpart, where you specify a file from a library in your site as source.
In this file you can write something like this:
<div id="weather-icon"></div>
<div id="weather-info"></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
window.baseic = window.baseic || {};
window.baseic.FetchCurrentWeather = function()
{
jQuery.ajax({
url: "http://api.openweathermap.org/data/2.5/find?q=Lappeenranta&mode=json&units=metric&lang=fi",
dataType:'jsonp',
cache: false
}).done(function(data){
var city = data.name;
var currentWeatherIcon = "http://openweathermap.org/img/w/" + data.weather[0].icon + ".png";
var currentTemp = Math.round(data.main.temp);
jQuery('#weather-icon').html("<img width='50' src='" + currentWeatherIcon + "' />");
jQuery('#weather-info').html(city + ", " + currentTemp + " °C");
});
}
jQuery(window.baseic.FetchCurrentWeather);
</script>
Note that this example code is highly dependent on jQuery so you would need to load it if it is not already available in your site.
Also note that I use json as mode instead of XML since it is easier to parse that in Javascript :)