如何在获取jsoup html解析时将每个元素划分为listview的不同行?

时间:2017-12-18 15:16:40

标签: java android html jsoup html-parsing

它应该获取<tr>元素中的数据。我可以使用这些代码成功获取,但它会将<tr>的每个数据提取到listview一行。它应该在不同的单行中分割<tr>的每个数据。只是尝试进行迭代,但它没有成功。

这是我的节目节目数据: ![ This is my program show data] 1

这是包含数据的网站:

This is the website that show data

它应该获取并显示网站显示的数据。请帮帮我。

这是Android Studio中的程序代码。

public class Alapli extends Activity {
private ListView lv;
public ArrayList liste= new ArrayList();
private ArrayAdapter<String> adapter;
private static String URL="http://zonguldakism.saglik.gov.tr/TR,15189/alapli--nobetci-eczane.html";
private ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alapli);
lv = (ListView) findViewById(R.id.list);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, liste);
new dataFetch().execute();

//Admob Banner BottomAd reklam
AdView adView = (AdView) findViewById(R.id.addView);

AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);

 // Geri tuşu için actionbar aktif etmek
 ActionBar ab = getActionBar();
 ab.setDisplayHomeAsUpEnabled(true);
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
private class dataFetch extends AsyncTask<Void, Void, Void> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        progressDialog= new ProgressDialog(Alapli.this);
        progressDialog.setTitle("Alaplı");
        progressDialog.setMessage("Yükleniyor..");
        progressDialog.setIndeterminate(false);
        progressDialog.show();

    }

    @Override
    protected Void doInBackground(Void... voids) {

        try {
            Document doc = Jsoup.connect(URL).timeout(30 * 1000)
                    .userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                    .get();
            Elements pharmacy = doc.select("tr:nth-child(n)");

    for (int i = 0; i < pharmacy.size(); i++) {
            liste.add("\n" + pharmacy.text());
        }
        } catch (IOException e) {
            e.printStackTrace();
        }


        return null;
    }

0 个答案:

没有答案