首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android -如何通过jsoup解析html并填充到arraylist中?

Android - 如何通过jsoup解析html并填充到ArrayList中?

Jsoup是一款用于解析、操作和遍历HTML文档的Java库。它提供了一种简单而灵活的方式来从HTML中提取数据。在Android中,你可以使用Jsoup来解析HTML,并将解析结果填充到ArrayList中。

以下是一个示例代码,演示了如何使用Jsoup解析HTML并将结果填充到ArrayList中:

代码语言:txt
复制
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private ArrayList<String> dataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        dataList = new ArrayList<>();

        // 在后台线程中执行解析操作
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    // 使用Jsoup连接到指定的URL并获取HTML文档
                    Document doc = Jsoup.connect("https://example.com").get();

                    // 使用CSS选择器选择需要解析的HTML元素
                    Elements elements = doc.select("div.my-class");

                    // 遍历解析结果并将数据填充到ArrayList中
                    for (Element element : elements) {
                        String data = element.text();
                        dataList.add(data);
                    }

                    // 解析完成后,在主线程中更新UI
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            // 在这里可以使用解析结果填充UI组件或进行其他操作
                            // 例如,将数据显示在ListView中
                            ListView listView = findViewById(R.id.list_view);
                            ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, dataList);
                            listView.setAdapter(adapter);
                        }
                    });

                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();
    }
}

在上述代码中,我们首先创建了一个ArrayList对象来存储解析结果。然后,在后台线程中使用Jsoup连接到指定的URL并获取HTML文档。接下来,我们使用CSS选择器选择需要解析的HTML元素,并遍历解析结果,将数据填充到ArrayList中。最后,在主线程中更新UI,例如将数据显示在ListView中。

需要注意的是,上述代码仅为示例,你需要根据实际情况修改URL和CSS选择器,以及根据你的UI布局进行相应的修改。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)和腾讯云数据库(https://cloud.tencent.com/product/cdb),它们提供了稳定可靠的云计算基础设施和数据库服务,适用于各种规模的应用和业务场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券