I'm trying to get a cleaned XML file so that I can parse data. This is my attempt:
private class cleanHtml extends AsyncTask<Void, Void, Void>{
@Override
protected Void doInBackground(Void... arg0) {
try {
HtmlCleaner cleaner = new HtmlCleaner();
String url = "https://www.easistent.com/urniki/263/razredi/16515";
TagNode node = cleaner.clean(new URL(url));
CleanerProperties props = cleaner.getProperties();
new PrettyXmlSerializer(props).writeToFile(node, "cleaned.xml", "utf-8");
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
I had to use AsyncTask since the app crashed if I did it on Main UI.
And now this is how I'm trying to execute this:
cleanHtml.execute();
However, this doesn't work. It underlines the "cleanHtml.execute();" and says this:
Cannot make a static reference to the non-static method execute(Void...) from the type AsyncTask
Any idea how can I run this AsyncTask now? Am I even doing it right? Also, once I get this working, where will I be able to see the output cleaned.xml file? Since I didn't set any "output folder".
use
new cleanHtml.execute();
instead of
cleanHtml.execute();
for executing AsyncTask
because execute() is not static method of AsyncTask
class so you will need to create instance of class for calling execute()
method
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.