Hello!
I am currently developing a MATLAB GUI using App Designer. The premise for this app is that users will able to select 1/5 cities using a dropdown menu. After completing their selection, a button next to the dropdown menu will be coded with a callback function that: (PART 1) returns the html code for the city's 7-day forecast in an editable text field below; and (PART 2) returns the text from the forecast in a multiline text area. See the photos below for reference:
This is the code I have for PART 1 and it seems to work fine:
% Button pushed function: SEARCHWEBButton
function SEARCHWEBButtonPushed(app, event) app.geosearch = app.CityDropDown.Value; app.TORn = 'Toronto'; app.OTTn = 'Ottawa'; app.MISSn = 'Mississauga'; app.BRMPn = 'Brampton'; app.HMLTn = 'Hamilton'; app.TORu = 'https://weather.gc.ca/city/pages/on-143_metric_e.html'; app.OTTu = 'https://weather.gc.ca/city/pages/on-118_metric_e.html'; app.MISSu = 'https://weather.gc.ca/city/pages/on-24_metric_e.html'; app.BRMPu = 'https://www.weather.gc.ca/city/pages/on-4_metric_e.html'; app.HMLTu = 'https://weather.gc.ca/city/pages/on-77_metric_e.html'; % Concatenate City Names & URLs
app.CityName = {app.TORn;app.OTTn;app.MISSn;app.BRMPn;app.HMLTn}; app.CityURL = {app.TORu; app.OTTu; app.MISSu; app.BRMPu; app.HMLTu}; %Join Cities and URLS
app.CityLgd = [app.CityName app.CityURL]; %Index Cell Array for Search Term
app.s01 = app.geosearch; app.s02 = app.CityLgd(:,1); app.tf = strcmpi(app.s01,app.s02); app.tf = find(app.tf); app.index = app.tf; app.sURL = char(app.CityLgd(app.index,2)); app.WeatherCANLinkEditField.Value = app.sURL;
The following code is what I have for completing PART 2 (returning the text from the weather report):
url = app.sURL; code = webread(url); app.RetrievedDataTextArea.Value = extractHTMLText(code);
However, it seems to fail with each trial. Is there a way to code the GUI to return text from an external HTML page?
Best Answer