全部 - 我正在解析来自 21 个不同地址的数据,具体取决于用户在微调器中选择的内容。例如,如果用户选择“Eldora”,它应该解析的网站是http://www.coloradoski.com/resorts/eldora。但是如果他们选择“Copper”应该从http://www.coloradoski.com/resorts/copper解析。问题是,只有地址发生了变化,而不是实际的标签。因此,我可以将所有内容复制到 21 个不同的类中并更改地址,但似乎应该有一种方法可以根据用户选择而不是实际标签来更改地址。这是我的代码:
class AddStringTask extends AsyncTask<Void, String, Void> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute()
{
progressDialog= ProgressDialog.show(MainActivity.this, "Loading Data","Getting from http://eldora.com/", true);
//do initialization of required objects objects here
};
@Override
protected Void doInBackground(Void... unused) {
org.jsoup.nodes.Document doc = null;
try {
doc = Jsoup.connect("http://www.coloradoski.com/resorts/eldora").get();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
docTitle = doc.select("div#column-narrow.grid_310.alpha h1").first().text();
AnnualSnowfallString = doc.select("dl#mountain-stats dt + dd").first().text();
AreaString = doc.select("dl#mountain-stats dt + dd + dt + dd ").first().text();
BaseElevationString = doc.select("dl#mountain-stats dt + dd +dt + dd + dt + dd").first().text();
SummitElevationString = doc.select("dl#mountain-stats dt + dd + dt + dd + dt + dd + dt + dd").first().text();
HoursofOperationString = doc.select("dl#mountain-stats dt + dd + dt + dd + dt + dd + dt + dd + dt + dd").first().text();
SeasonDatesString = doc.select("dl#mountain-stats dt + dd + dt + dd + dt + dd + dt + dd + dt + dd + dt + dd").first().text();
NotesString = doc.select("dl#mountain-stats dt + dd + dt + dd + dt + dd + dt + dd + dt + dd + dt + dd + dt + dd").first().text();
return null;
}
dl#mountain-stats dt + dd + dt + dd
不会因站点而异,只是地址。关于如何仅根据用户选择进行更改的任何想法?