如何正确解析div块中的文本?

时间:2015-10-17 23:57:31

标签: java android parsing jsoup

我正在使用自己的Android应用程序,而且我是解析新手。我有网站,我有这样的代码块。

<div class="row">
<div class="col-xs-12" style="margin:0.5em 0;line-height:1.785em">
    some text <br> some text <br> some text
</div> </div>

我想把这个文字带到屏幕上的TextView。所以我为AsyncTask编写了这段代码,但它不起作用。

class NewPostsAsyncTask extends AsyncTask<Void, Void, Void> {

    private String title; // Тут храним значение заголовка сайта
    private String pst;

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setTitle("Новые");
        progressDialog.setMessage("Загрузка...");
        progressDialog.setIndeterminate(false);
        progressDialog.show();
    }

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

        Document doc = null; // Здесь хранится будет разобранный html документ
        try {
            doc = Jsoup.connect(URL).get(); // Считываем заголовок страницы

            // Using Elements to get the Meta data
            Elements post = doc.select("div[class=col-xs-12]");
            // Locate the content attribute
            pst = post.attr("[style=margin:0.5em 0;line-height:1.785em]");

        } catch (IOException e) {
            e.printStackTrace(); // Если не получилось считать
        }

        // Если всё считалось, то вытаскиваем из считанного html документа заголовок
        if (doc != null)
            title = doc.title();
        else
            title = "Ошибка";

        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);

        //websitePost.setText(title);
        websitePost.setText(pst);
        progressDialog.dismiss();
    }
}

你能解释一下我应该怎么做,你能告诉我我的错误吗?

P上。 S.对不起,如果我的英语不好。

2 个答案:

答案 0 :(得分:0)

IIRC您没有引用适用于您的用例的元素。您应引用post.text()

...
// Using Elements to get the Meta data
Elements post = doc.select("div[class=col-xs-12]");
// Locate the content attribute
pst = post.text();
...

答案 1 :(得分:-1)

为什么不使用this而不是进行所有解析?

'\s\|\&' =>                    q<pipelining is not POSIX>,
相关问题