Java 分析列表中的jsoup会得到错误的结果
我正在解析这个页面的table标签。这就是我正在做的:Java 分析列表中的jsoup会得到错误的结果,java,android,parsing,android-listview,jsoup,Java,Android,Parsing,Android Listview,Jsoup,我正在解析这个页面的table标签。这就是我正在做的: private class SearchResult extends AsyncTask<Void, Void, String>{ String resultTextFmt; @Override protected void onPreExecute() { super.onPreExecute(); mProgressDialog = new ProgressDialog(FragmentThree.this); mPro
private class SearchResult extends AsyncTask<Void, Void, String>{
String resultTextFmt;
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(FragmentThree.this);
mProgressDialog.setTitle("Twix Updates");
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
titoli = new ArrayList<String>();
descrizioni = new ArrayList<String>();
url = new ArrayList<String>();
}
@Override
protected String doInBackground(Void... params) {
try {
Document document =Jsoup.connect(URL.toString()).get();
// prendo gli elementi che mi interessano dalla tabella
Elements description2 = document.select("#rom_table");
for(Element sezione : description2)//per ogni sezione tra gli elementi ricavati prima
{
// ricavo il titolo
// (con .text() ottengo il testo non formattato
String titolo = sezione.select("tr").text();
String descrizione = sezione.select("a").text();
//-- mi prendo il link
String urldesc = sezione.select("a").first().attr("abs:href");
// inserisco nei rispettivi arraylist
titoli.add(titolo);
descrizioni.add(descrizione);
url.add(urldesc);
}
} catch (Exception e) {
e.printStackTrace();
/*Toast.makeText(FragmentThree.this, "Errore parsing",
Toast.LENGTH_SHORT).show();*/
Log.d("errore", "errore parsing");
}
return null;
}
@Override
protected void onPostExecute(String result) {
/*textView.setText(Html.fromHtml(resultTextFmt));*/
/*Toast.makeText(getActivity(), resultTextFmt,
Toast.LENGTH_SHORT).show();*/
ParsingArrayAdapter adapter = new ParsingArrayAdapter(FragmentThree.this, titoli, descrizioni);
lista.setAdapter(adapter);
mProgressDialog.dismiss();
}
}
它工作,但不完全是我想要的。。。它只给我列表中的一项,在titolo中我有所有tr标签。。我想要的是列表中的两个项目,第一个是标题:LG Nexus 4 Alpha 04/18/2014,第二个是LG Nexus 5 Alpha 04/19/2014。。。不像现在这两个东西在一排。谢谢使用getElementById从解析的文档中检索rom_表,然后通过标记tr获取元素
final Document doc = Jsoup.connect("http://twixkat.altervista.org/download.html").get();
runOnUiThread(new Runnable() {
@Override
public void run() {
Element rootElement = doc.body().getElementById("rom_table");
Elements elements = rootElement.getElementsByTag("tr");
for(Element element : elements){
String titolo = element.select("tr").text();
String descrizione = element.select("a").text();
String urldesc = element.select("a").first().attr("abs:href");
// do your other stuff here to add to List
}
}
});