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 :)