这是我要解析的html:

<div class="entry">
    <img src="http://www.example.com/image.jpg" alt="Image Title">
    <p>Here is some text</p>
    <p>Here is some more text</p>
</div>


我想将<p>中的文本放入一个ArrayList中。我已经尝试过使用Jsoup。

Document doc = Jsoup.parse(line);
Elements descs = doc.getElementsByClass("entry");

for (Element desc : descs) {
    String text = desc.getElementsByTag("p").first().text();
    myArrayList.add(text);
}


但这根本不起作用。我对Jsoup很陌生,但似乎有其局限性。如果我可以使用Jsoup将<p>中的文本放入一个ArrayList中,该如何实现?如果我必须使用其他方法来解析html,请告诉我。

我正在使用BufferedReader一次读取html文件。

最佳答案

您可以将方法更改为以下内容:

Document doc = Jsoup.parse(line);
Elements pElems = doc.select("div.entry > p");

for (Element pElem : pElems) {
   myArrayList.add(pElem.data());
}

10-07 19:22
查看更多