2013-09-25 42 views
0

我試圖獲得一個清潔的XML文件,以便我可以解析數據。這是我的嘗試:使用HtmlCleaner和AsyncTask清理HTML

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; 
    } 
} 

我不得不使用的AsyncTask,因爲應用程序崩潰,如果我做這件事是主界面。

而現在這就是我正在努力執行此:

cleanHtml.execute(); 

但是,這是行不通的。它強調了「cleanHtml.execute();」和這樣說:

不能使靜態參考非靜態方法execute(無效...)從類型的AsyncTask

任何想法,我怎麼能現在運行此的AsyncTask?我做對了嗎?另外,一旦我得到這個工作,我將能在哪裏看到輸出的clean.xml文件?由於我沒有設置任何「輸出文件夾」。使用

cleanHtml.execute(); 

執行AsyncTask因爲執行()

回答

1

new cleanHtml.execute(); 

反而是不AsyncTask類的靜態方法,所以你需要調用​​方法

創建類的實例
+0

非常感謝,沒有更多的錯誤:) – Guy